float x, b; int m;
scanf_s("%f",&x);
m = (1000 * x + 0.5);
b = m / 1000;
printf("保留小数点后三位的数是:%f",b);
//我输入123.4567,然后结果是123.00000,为毛啊?
不应该是123.457吗?
C语言 小数保留问题
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
5条回答 默认 最新
danielinbiti 2015-04-08 13:44关注b = m / 1000;是先除在转float,不是先转再除。因为m和1000都是整数。所以m/1000除完会截掉小数,整数部分再转float.
如果b=m*1.0/1000就是你要的结果了本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报解决 3无用