gpt4 book ai didi

c - 是否可以仅使用 printf 语句来舍入 double?

转载 作者:太空宇宙 更新时间:2023-11-04 00:27:44 25 4
gpt4 key购买 nike

显然这只是代码的一小部分。

printf("Please enter a positive number that has a fractional part with three or more decimal places\n");
scanf("%5.2d", &x);
printf("The number you have entered is %5.2d\n" ,x);

这会自动舍入我输入的数字吗?或者还有其他方法吗?

编辑:

printf("Please enter a positive number that has a fractional part with three or more decimal places\n");
scanf("%lf", &x);
x = x + 0.05;
printf( "The number you have entered is %5.2lf\n", x);

我已经这样做了,但我考虑到了有人所说的关于 printf 的内容,只是“改变”了它的读出方式。所以这显然不是正确的方法。我应该实现 pow() 函数吗?这会以某种方式起作用吗?

编辑2:

printf("Please enter a positive number that has a fractional part with three or more decimal places\n");
scanf("%lf", &x);
x = x + 0.05;
printf( "The number you have entered is %5.2lf\n", x);

好的,iv 已经到了如果我输入一个数字它将四舍五入为整数的地步。 35.21 将四舍五入为 35,35.51 将四舍五入为 36 等。等等

如何将 35.2178 舍入为 35.22,将 35.2135 舍入为 35.21。我如何获得小数的特定幂而不是整数?

最佳答案

你真的,真的不应该在浮点变量中存储“四舍五入”的值。浮点不准确会毁掉它——你的 5.10 可能会变成 5.099999999941892,因为实现可能无法准确存储 5.10。

作为替代方案,读取整数,将其乘以 100 并将其转换为 int(这会将其四舍五入为零)。这将使您的计算准确无误。

关于c - 是否可以仅使用 printf 语句来舍入 double?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1500546/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com