如何在 5 上四舍五入
How to round a float up on 5
所以我很惊讶我没有找到任何与此相关的信息。
我有一个 python 脚本,它正在测试 C++ 程序。它需要以与 std::setprecision
相同的方式格式化浮点数。这是一个像 1.265 这样的浮点数应该四舍五入到 1.27 (2 dp)。
现在我有以下代码:
"{:.2f}".format(myFloat)
问题是像 1.265 这样的数字四舍五入为 1.26,我的测试失败了。 setprecision
将 1.265 舍入为 1.27。
解决此问题的最佳方法是什么?
您可以使用双舍入来克服二进制算法无法精确表示十进制值的问题。
round(round(1.265, 3) + 0.0005, 2)
所以我很惊讶我没有找到任何与此相关的信息。
我有一个 python 脚本,它正在测试 C++ 程序。它需要以与 std::setprecision
相同的方式格式化浮点数。这是一个像 1.265 这样的浮点数应该四舍五入到 1.27 (2 dp)。
现在我有以下代码:
"{:.2f}".format(myFloat)
问题是像 1.265 这样的数字四舍五入为 1.26,我的测试失败了。 setprecision
将 1.265 舍入为 1.27。
解决此问题的最佳方法是什么?
您可以使用双舍入来克服二进制算法无法精确表示十进制值的问题。
round(round(1.265, 3) + 0.0005, 2)