boost::lexical_cast を使用する場合 (私は VS2013 でブースト バージョン 1.58 を使用しています)、文字列で指定された正確な値を取得できません。
std::wstring t = L"91.25";
float r;
r = boost::lexical_cast<float>(t);
r は 91.250000 (0x42b68000) ではなく 91.249992 (0x42B67FFF) です
ブーストの以前のバージョンは、期待どおりに動作しました。不足している精度設定はありますか?