‘壹’ c语言问题,这里怎么实现四舍五入的啊
假定一个数字x值是10.456,那么保留两位,第三位四舍五入的方法就是先将x乘以100,变成1045.6,然后加上0.5,得到1046.1,然后去除1046.1的小数部分(也就是强制转为int),得到1046,再用1046除以100.0就得到最终的10.46,写出来也就是
x=(int)(x*100+0.5)/100.0
‘贰’ c语言中的四舍五入怎么做
利用取整运算的截断特点实现。
比如:int a=0.75;取整后赋值给a的是0,小数点后面的被截断了。
如果要做整数的四舍五入,那么可以:a=(int)(0.75+0.5);取整后得到的与数学中四舍五入的结果一致,都是1;
如果要进行小数点后面的四舍五入,可以这样计算:
要保留小数点后面两位的小数,即在小数点后面两位上做四舍五入,0.756
float a=0.756,b; int x; b=a*100; b+=0.5; x=b; b=x/100;
运算是这样的:先将0.756乘以100,得到75.6,然后利用取值运算的截断做四舍五入,75.6+0.5=76.1取整后等于76,再除以100,得到结果:0.76
‘叁’ C语言怎么四舍五入
利用取整。
比如 四舍五入到千分位,可以
(int)(x*1000+0.5)/1000.0
十分位(int)(x*10+0.5)/10.0
其他类似,只改变其中倍数的值即可。
‘肆’ c语言四舍五入是怎样的
全舍不入
需要实现四舍五入的时候就要使用double或者float类型的数进行运算然后if判断
http://..com/question/68502540.html刚好有个类似的问题
‘伍’ C语言 四舍五入
C,
(int)(x*100+0.5)中x*100就把小数点后两位移到整数部分了,然后强制转换为int,再除以float,所以结果为小数点后两位,其他也可以,不过不是保留两位小数。
你假设x=123.456
x*100+0.5=12345.6+0.5=12346.1//这里加0.5是为了4舌5入
然后强制转化成int 为12346
再除以100
结果 为 123.46
这样就做到了保留到小数点后两位,并将第3位四舍五入