我有一种情况:
void foo( const double d )
{
const double rounded_2_decimals = std::round(d*100.0) / 100.0;
std::cout << "d=" << d << std::endl;
std::cout << "r=" << rounded_2_decimals << std::endl;
}
打印时,d=3.125
,而r=3.12
不是r=3.13
。
我怀疑这是因为传入的d
实际上是 3.1249999...。这就是我输入初始 cout 的原因,所以我可以看到传入的“真实”值。std::cout
在显示它们之前是否舍入值?我怎么能看到传入的“真实”值?