记录---基于BigDecimal的特殊的四舍五入
生活随笔
收集整理的這篇文章主要介紹了
记录---基于BigDecimal的特殊的四舍五入
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
機試問題—實現基于BigDecimal的特殊的四舍五入。
這是一道外企的機試題,我把里面的某個難點部分,摘出來詳細如下:
//實現特殊的四舍五入,先普通四舍五入取到小數點后兩位,然后最后一位向后進位,0和5不變,1234變5,6789進1變0
也就是說最后一位要么是0,要么是5
// 2.201–>2.20
// 2.20–>2.20
// 2.23–>2.25
// 2.25–>2.25
// 2.26–>2.30
我的思路很簡單,是將BigDecimal轉換成int,然后利用取余取整,完成特殊的四舍五入的這個規則,然后再轉成BigDecimal,注意精度即可。
總結
本文是自定義四舍五入,也同樣適用于其他規則,只需要將自定義那塊的邏輯換掉即可,
本文核心是將BigDecimal轉換成int,同時稍微注意下精度問題。
這種方法只是臨時想的,不一定是最好的,
如果發現有問題或者更好的實現,歡迎繼續探討。
總結
以上是生活随笔為你收集整理的记录---基于BigDecimal的特殊的四舍五入的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java8新特性(4)— Stream流
- 下一篇: BigDecimal的异常记录:java