0
std :: stodを使用してダブルに変換したい文字列があります。しかし、std :: stodの出力は私が期待するものではありません。たとえば、私の文字列が6.1の場合、std :: stodの出力は6.0999999999999996です。std :: stodは正確な数値を出力しません
std :: stodが6.1を返すか、6.099 ... 6を6.1に変換するために何かできることはありますか?
std :: stodを使用してダブルに変換したい文字列があります。しかし、std :: stodの出力は私が期待するものではありません。たとえば、私の文字列が6.1の場合、std :: stodの出力は6.0999999999999996です。std :: stodは正確な数値を出力しません
std :: stodが6.1を返すか、6.099 ... 6を6.1に変換するために何かできることはありますか?
いいえ。 std::stod
はdouble
を返します。ほとんどの実装では、double
は2進浮動小数点型です。
これは6.1の正確な表現ではありません。
6.1が必要な場合は、適切な倍率で整数型を使用するか、サードパーティライブラリの小数点型を使用することを検討してください。