-1
我正在使用一些數字解析文件。我試圖將字符串中的數字更改爲float或double,但是我發現stof和stod有一個精確的問題,它們在VS C++中很少量。例如stof()和stod()精度
string str1="3.14", str2="45.106";
double number1, number2;
number1=stod(str1);
number2=stof(str2);
當我測試(number1 == 3.14),它返回「false」。當我查看調試器時,number1實際上是3.139999999或類似的東西! number2可能是45.1060000002或類似的東西。任何解釋或解決方案?
說明:http://en.wikipedia.org/wiki/Floating_point#Accuracy_problems。在使用與浮點類型相等的比較時需要注意。 – Zeta 2013-03-05 20:33:29