我正在解析一个带有一些数字的文件。我正在尝试将数字从字符串更改为浮点数或双精度数,但我发现 stof 和 stod 存在精度问题,它们在 VS C++ 中略有偏差。例如
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 或类似的东西。有什么解释或解决方案吗?