c语言的关于 : 对一个double型数据进行四舍五入运算
3个回答
展开全部
推荐的方法:首先将该数存入double类型的变量中,然后将该变量乘以100(小数点后移2位),加上0.5,再强制取整,最后除以100.0(小数点前移2位)即得到了结果。
表达式如下(double变量为i):i
=
(int)(i*100+0.5)/100.0
使用printf输出时,如果要保留两位小数输出,请使用%.2f或%.2lf占位符
表达式如下(double变量为i):i
=
(int)(i*100+0.5)/100.0
使用printf输出时,如果要保留两位小数输出,请使用%.2f或%.2lf占位符
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
貌似我的VC6.0直接输出printf("%.2f",a);就自动四舍五入了
你的第一个a的值没有任何改变,你只是用了a去计算,但是并没有对a重新赋值。
第二个,你对a重新赋值了,经过你的式子之后,实际上是把小数点第三位的数加了五,
b=(a*100+0.5)/100;这一句拆开算就是(a*100)/100+0.5/100即a+0.005,所以才会不管你的原数是什么,程序执行后都会进位。
你的第一个a的值没有任何改变,你只是用了a去计算,但是并没有对a重新赋值。
第二个,你对a重新赋值了,经过你的式子之后,实际上是把小数点第三位的数加了五,
b=(a*100+0.5)/100;这一句拆开算就是(a*100)/100+0.5/100即a+0.005,所以才会不管你的原数是什么,程序执行后都会进位。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询