【发布时间】:2017-07-18 12:42:44
【问题描述】:
我需要对一些存储为浮点数的数字进行四舍五入。
值类似于:0.000000123,例如表示 123ns
我需要提取 123(以便可以用 ns 表示)并将其四舍五入到下一个“十”。
所以,例如我想提取:130e-9
你有什么建议吗?
【问题讨论】:
-
您知道 0.000000123 不是精确的浮点值(在 IEEE754 下)?
-
我不明白你的意思......
-
所以 123 轮到 130 是你在说什么?所以当你谈论十位时,2不是十位,所以你已经乘以1000000000然后你想四舍五入到最接近的十位?
-
您正在使用以 10 为底的数字并询问浮点计算机(以 2 为底)的问题。许多以 10 为底的数字不能用浮点数精确表示,这就是 Bathsheba 所说的
标签: c floating-point rounding