は限り浮動小数点が使用されているように、0.1はメモリ内で正確に表現することはできませんので、我々は、この値は通常0.10000000000000004に出てくることを知っています。Google Goで0.1 + 0.2が0.3になるのはなぜですか?
しかしとき0.1と0.2を追加するために行くを使用しました。 私は0.3を得ています。
fmt.Println(0.1 + 0.2)
// Output : 0.3
0.30000000000000004の代わりに0.3が表示されるのはなぜですか?
Goは、コンパイル時に余分な精度を使用しているため、移動式を定数倍しませんことを確認してください。 – user2357112
新しいことに感謝します! – Integral