jianhong_wu 发表于 2015-1-2 11:37:31

单片机C程序上如何对小数点进行如何四舍五入的处理?已解答。

Tony--青岛:
C程序上如何对小数点进行如何四舍五入的处理?


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


101MHz 发表于 2015-1-4 14:29:20

好牛逼啊,鸿哥思想叼炸天了~
页: [1]
查看完整版本: 单片机C程序上如何对小数点进行如何四舍五入的处理?已解答。