我刚刚发现了这个网站http://floating-point-gui.de/,并尝试使用Java和C++编写。为什么在Java中编写以下代码会得到0.30000000000000004的结果?
写成C++代码会得到0.3的结果,而以下是什么?
double x = 0.1 + 0.2;
System.out.print(x);
写成C++代码会得到0.3的结果,而以下是什么?
double x = 0.1 + 0.2;
cout<<x;
cout << setprecision(15) << x
。我预测结果是相同的,只是在 Java 中默认情况下会打印更多位数。 - Igor Tandetnikprint
和cout
格式选项的内容。 - quantdev