最初はこれを行うためにブーストを使用lexical_cast
しました。しかし、C++ が double/float を表す方法により5.1
、文字列に変換すると、5.0999999
その範囲で何かが得られます。ということで、以下のように変換しました。
stringstream ss;
ss << 3.14159265359;
cout << ss.str();
しかし、これは私にしか与えられず3.14159
、それ以上の精度が欲しい. これができることについて何か見たと思いますprintf()
が、実際にはコンソールに出力するのではなく、Windows GUI プログラムに取り組んでいます。小数点以下 5 桁を超える精度を得るにはどうすればよいですか? 私は 8 で解決したいと思っていますが、10 か 11 がいいでしょう。C++ が float と double をどのように表現するかを考えると、これは多すぎますか?