いくつかの数字でファイルを解析しています。数値を string から float または double に変更しようとしていますが、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 などです。説明または解決策はありますか?