我剛剛從Peter Lawreys post得知這是有效的表達式,並且評估爲true
。爲什麼在Java中允許雙精度的任意精度?
333333333333333.33d == 333333333333333.3d
我的問題是,爲什麼它允許有不能在雙表示雙面值,而不能代表整數文字是不允許的。這個決定是什麼理由。
一個側面說明,我可以實際上觸發了一系列編譯錯誤的雙打文字:-)
99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999d
所以只要我們在(最小值,最大值)範圍內,文字變得近似,但當超出這個範圍時,編譯器似乎拒絕接近它。
你如何提出我們容易代表「如果你不接受0.1就可以」接近0.1的雙倍「? –
好點。多麼明顯......:P – aioobe