Nat*_*son 3 c++ floating-point string-formatting
考虑:
#include <iostream>
#include <iomanip>
int main()
{
std::cout << std::fixed << std::setprecision(2);
std::cout << 0.125 << '\n'; // Prints "0.12"
std::cout << 0.126 << '\n'; // Prints "0.13" as expected
}
Run Code Online (Sandbox Code Playgroud)
我知道浮点数学并不完全精确,但0.125实际上不是准确表示的值之一吗?为什么格式化时是"0.12"向下舍入而不是向上舍入?"0.13"