Я пытаюсь изменить некоторую библиотеку, и мне нужно сохранить значение с плавающей точкой в дереве Однако, когда я получаю значение, оно отличается от того, что я там ввел. Это не случается с двойниками. Пример:
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
двойной номер: 230518,391
Что, черт возьми, здесь происходит?