【发布时间】:2017-07-12 17:18:51
【问题描述】:
如何将结果四舍五入到第三位后的第三位。
float result = cos(number);
请注意,我想将结果保存到第三位,不四舍五入。不,我不想用 .3f 打印它,我需要将它保存为新值;
例子:
0.00367 -> 0.003
注意3 之后不需要额外的零。
另外,我需要能够获得第三位数字。例如,如果它是 0.0037212,我想得到 3 并在某些计算中将其用作 int。
【问题讨论】:
-
详细信息:由于typical float 不能代表
0.009之类的数字,float x = 0.009;将导致x的精确值为0.0089999996125698089599609375。在这种情况下,float的第 3 位是 8 而不是 9。这样可以吗? -
回复,“我不想打印它。”这将是一个问题,因为
float值没有十进制数字。十进制数字仅出现在float值的打印表示中。没有完全等于 0.003 的float值。
标签: c floating-point rounding math.h trigonometry