一部のライブラリを変更しようとしていますが、float 値を ptree に格納する必要があります。ただし、値を取得すると、そこに入力した値とは異なります。これはダブルスでは起こりません。例:
Ptree pt;
float f = 230518.391;
pt.put("float", f);
pt.put("double", (double) f)
cout << "f: " << f;
cout << "pt.float: " << pt.get<float>("float");
cout << "pt.double: " << pt.get<double>("double");
出力: f: 230518.391 pt.float: 230518.406 pt.double: 230518.391
ここで一体何が起こっているのですか?