私は小数点以下2桁を維持しようとしています。私は次のような数字を持っています:
9.96999.to_f.round(2)
ほとんどの場合、小数点以下 2 桁 ( 9.97
) に丸められますが、次のような結果が得られることがあります。
9.96999999999
理由はありますか?
編集
スクレイピングされたテーブルから 2 つの値を追加しています。表を見ると、これが発生しているのは、セル 19.02
の値が でセル 2 の値が である0.95
場合、またはセル 19.87
の値が でセル 2 の値が である場合のみ0.1
です。どちらの場合も、明らかに を取得する必要があります9.97
。代わりに、正確に取得しています9.969999999999999
。すべての初期値は文字列として始まります。