私はSTRING、DOUBLEデータを含む5行を読んでいます。 私は文字列を読んでから、カンマである最後の文字を削除してから、ダブルを読んでいます。以下の試験データからの読み取り時(はifstream変数である)で間違ったダブルデータの読み込みを防止する方法C++
in >> format >> number;
format.erase(format.length() - 1);
しかし、第4の数は、(デバッグおよび印刷に示すように)23.489999999999998として読み出されます。どうすればこれを防ぐことができますか?
&&&&&&, 456
&&&&&&,&, 1000000
$&&&&.&&, 123.38
&&&.&&&, 23.49
&&&.&&&, 23.4999
&&&E, 45
これは間違った読書ではありません。それは正しい読書であり、後でそれを間違って印刷する可能性があります。 (正確な印刷ですが、あなたが望むものではないようですが、浮動小数点値*を正確に表示するには、文字列を使用する必要があります。 – BoBTFish
これは "間違っていません"。 –
デバッグと印刷に使用しているコードを表示します。何が入力であるかを指定し、あなたの望む出力は何ですか? – Rama