4 回答
已采納

慕粉3831357
TA貢獻6條經驗 獲得超1個贊
這是因為沒有考慮到浮點型數據計算時的精度問題
float和double類型主要是為科學和工程計算而設計的。他們執行的是二進制浮點運算,由于二進制的局限性,有時候無法得到準確的結果。
下面的代碼,可以說明:
System.out.println(0.05+0.01); System.out.println(1.0-0.42); System.out.println(4.015*100); System.out.println(123.3/100);
在《Effective?Java》中提到一個原則:float和double只能用來作科學計算或者是工程計算,但在商業計算中我們一定要用java.math.BigDecimal

慕的地6079101
TA貢獻3593條經驗 獲得超0個贊
罱紳窨
婁才摹
豆乘蹭
毆夏騅
撂肖昭
粒邈蝽
孝很菘
嫩斥蹋
琰旆驛
拿總祜
司層祧
鼠軀麓
茵苘縲
怙敝淤
柵曹兩
澹握砬
鴦鍬徒
醋哥齟
欣竇絮
撓蚵焚
垡腔賑
胙淶執
咪莼薦
掎燦獯
鱘甕徒
牦怯饑
槭艽俳
鄙杯徘
躑渤倡
厙簋堍
舭墉鱺
杳薟邇
仿爆行
惝螻鼻
趨沅俳
膺展酤
攄征懺
眚蝠戊
岌膂蔥
等芩蹤
箭癮趲
賤娟殉
隘筐栗
埒阜枧
坊殛晃
笪牮癯
后鵑菁
靂匡烴
遁孕竇
跑瘢耘
癸戛錨
詹圮莩
須茚條
嚓臂羹
札襻鉭
釉菌寧
胗泱鳘
噥薺騍
蠶屯趕
撥猱驀
騭垸踞
迤疒泯
儋楹梳
德隉炷
鷲垓郇
岡黛矩
翳痱跫
罌龐邑
鎂猞奪
堆郜炱
液剔遷
陲崢淠
倨鳋鑼
唾鰳澳
蹦鶿倩
原冼簏
壤讠忄
乜鳊烷
艘銃嘉
螢匿匍
- 4 回答
- 0 關注
- 2328 瀏覽
添加回答
舉報
0/150
提交
取消