2

我需要用 C 编写一个程序来执行以下操作:

编写一个程序,当用户输入一个浮点数时,它会将数字四舍五入到小数点后 3 位。显示结果时,显示小数点后 5 位,即第 4 位和第 5 位小数都为 0。

如何将其四舍五入到小数点后 3 位,然后显示两个零?我不允许使用任何类型的数学库函数。

4

3 回答 3

2
printf("%.5f\n",(int)(number*1000+0.5)/1000.0);
于 2013-01-31T05:07:18.283 回答
2

好吧,“没有数学”方法:D

printf("%.3f00\n", n);

(通常服从Round-to-Nearest-Even;见 R.. 的评论。)

于 2013-01-31T05:11:15.500 回答
0

您的任务有两个步骤:

1) 将数字四舍五入到小数点后三 (3) 位。

double n = 0.123456;
n = ((int) (n * 1000.0)) / 1000.0; // => 0.123

2) 将数字显示到小数点后五 (5) 位。

printf("%.5f\n", n); // => 0.12300
于 2013-01-31T05:09:03.007 回答