更新時(shí)間:2020-07-24 15:52:59 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽5279次
在java中的Math類中有三種方法對(duì)浮點(diǎn)數(shù)取整
floor//向下取整
ceil//向上取整
round//四舍五入取整
例如:
Math.floor(1.3);//1
Math.floor(1.7);//1
Math.ceil(1.3);//2
Math.ceil(1.7);//2
Math.round(1.3);//1
Math.round(1.7);//2
很簡(jiǎn)單的辦法。
這個(gè)取整有一個(gè)很好的應(yīng)用
例如:1.736向下取整保留兩位小數(shù),應(yīng)該如何辦?
一種直接辦法就是用BigDecimal.setScale().doubleValue()的方法(具體如何做看我上一篇日志java保留兩位小數(shù)),這樣子比較麻煩,因?yàn)橛玫酱蟾↑c(diǎn)數(shù)了,也會(huì)出現(xiàn)7-8位小數(shù)突然多出來(lái)一個(gè)1。
那有沒(méi)有簡(jiǎn)單辦法?
當(dāng)然,把1.736*100=173.6
然后Math.floor(173.6)=173
然后再173/100=1.73這樣子就可以了。
或者:1.734向上保留兩位小數(shù),精確到0.05,這個(gè)時(shí)候用大浮點(diǎn)數(shù)也要先乘以2再保留,然后再除以2.
但我們完全可以直接乘以20,然后Math.ceil(1.734*20)/20這樣子就是最終結(jié)果了。。
以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“Java對(duì)浮點(diǎn)數(shù)取整方法floor”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743