重複の可能性:
.Net float から double への変換
私は浮動小数点を理解していましたが、誰かが次のことを説明できますか
float f = 1.85847987E+9F;
double d = Convert.ToDouble(f);
d が として文字列に変換されるようになりました1858479872.0
。余分な 2 は、double が浮動小数点数を正確に表すことができないためだと思います。
私の質問は、直接割り当てられたときに同じ番号を再表現できるように見えるのはなぜですか
double d = 1.85847987E+9;
そしてそれは正確に次のように示されます185847987.0