独闷闷网

标题: 单片机C程序上如何对小数点进行如何四舍五入的处理?已解答。 [打印本页]

作者: jianhong_wu    时间: 2015-1-2 11:37
标题: 单片机C程序上如何对小数点进行如何四舍五入的处理?已解答。
Tony--青岛:
C程序上如何对小数点进行如何四舍五入的处理?


鸿哥-深圳:
先把带小数点的数转换成用两个变量表示的数,一个unsigned long 变量记录它的数值,另外一个 unsigned char 变量记录它的小数点位数。然后把这个unsigned long变量先加5,然后再整除10,这样 相当于减少了一个小数点,所以另外一个unsigned char记录小数点总数的变量就要减去1。这样就相当 于四舍五入了,去掉了最右边的数。
比如1.86要四舍五入保留一位小数点:
  1. unsigned long a=186;
  2. unsigned char b=2; //相当于原来是2位小数点
  3. a=a+5;
  4. a=a/10;
  5. b=b-1; //减去一个小数点总数。
复制代码




作者: 101MHz    时间: 2015-1-4 14:29
好牛逼啊,鸿哥思想叼炸天了~




欢迎光临 独闷闷网 (http://www.dumenmen.com/) Powered by Discuz! X3.2