Java浮點數運算實現四捨五入和格式化方法總結
method 1
/**
* method 1 值舍入時推薦
*/
String srcBlance = "82.54466";
double rate = 0.01;
double f = Double.parseDouble(srcBlance);
//BigDecimal b = new BigDecimal(f * rate); /** 會有精確性問題*/
BigDecimal b = new BigDecimal(new Double(f * rate).toString()); /** 不會有精確性問題*/
double f1 = b.setScale(0, RoundingMode.HALF_UP).doubleValue();
long extBalance = NumUtils.roundToLong(String.valueOf(f1)); /** roundToLong具備自動將浮點數進行整數化功能*/
System.out.println(extBalance);
method 2
/**
* method 2 值舍入時推薦
*/
NumberFormat nf = NumberFormat.getNumberInstance();
nf.setMaximumFractionDigits(2);
nf.setRoundingMode(RoundingMode.UP);
System.out.println("method2: "+ nf.format(f));
method 3
/**
* method 3 僅僅格式化 保證精確
*/
DecimalFormat df = new DecimalFormat("#.000");
System.out.println("method3:" + df.format(f));
method 4
/**
* method 4 僅僅格式化 保證精確
*/
System.out.println(String.format("%.2f", f));
RoundingMode
目前java支援7中舍入法:
1、 ROUND_UP:遠離零方向舍入。向絕對值最大的方向舍入,只要捨棄位非0即進位。
2、 ROUND_DOWN:趨向零方向舍入。向絕對值最小的方向輸入,所有的位都要捨棄,不存在進位情況。
3、 ROUND_CEILING:向正無窮方向舍入。向正最大方向靠攏。若是正數,舍入行為類似於ROUND_UP,若為負數,舍入行為類似於ROUND_DOWN。Math.round()方法就是使用的此模式。
4、 ROUND_FLOOR:向負無窮方向舍入。向負無窮方向靠攏。若是正數,舍入行為類似於ROUND_DOWN;若為負數,舍入行為類似於ROUND_UP。
5、 HALF_UP:最近數字舍入(5進)。這是我們最經典的四捨五入。
6、 HALF_DOWN:最近數字舍入(5舍)。在這裡5是要捨棄的。
7、 HAIL_EVEN:銀行家舍入法。
相關文章
- javascript實現浮點數四捨五入效果程式碼JavaScript
- iOS小數四捨五入總結iOS
- js對數字進行四捨五入運算包括負數JS
- PHP實現四捨五入的3種方法PHP
- js實現的數字四捨五入效果JS
- linux shell 實現 四則運算(整數及浮點) 簡單方法Linux
- Linux Shell 實現四則運算(整數及浮點)簡單方法Linux
- Java中數字的四捨五入和取整Java
- 全面總結 JS 中浮點數運算問題JS
- JavaScript 浮點數及運算精度調整總結JavaScript
- JavaScript數字四捨五入JavaScript
- C語言中四捨五入問題總結C語言
- C++ 四捨五入與不四捨五入C++
- PHP 保留小數點後有效數字(四捨五入)PHP
- JavaScript 賭運氣的四捨五入JavaScript
- mssql sqlserver 取消數值四捨五入的方法分享SQLServer
- js實現的數字四捨五入效果程式碼例項JS
- JS四則運算與四捨五入精度問題及解決方案JS
- sql 保留兩位小數+四捨五入SQL
- Java浮點數計算Java
- 實現四捨五入效果的javascript程式碼例項JavaScript
- javascript實現的將小數轉換為整數不進行四捨五入JavaScript
- javascript數字四捨五入程式碼例項JavaScript
- php中四捨五入的數學函式PHP函式
- java中的四捨五入-銀行家舍入法Java
- oracle中round()四捨五入Oracle
- 在Java中實現浮點數的精確計算 (轉)Java
- 深入理解浮點數的運算
- JavaScript四捨五入的改進JavaScript
- JavaScript toFixed() 四捨五入規則JavaScript
- JavaScript四捨五入的那些坑JavaScript
- JavaScript解決浮點數算數運算精度問題JavaScript
- Vue中使用js實現保留小數的奇入偶不入,四捨六入的計算VueJS
- 四則運算之總結
- 四則運算app總結APP
- Java浮點數float,bigdecimal和double精確計算的精度誤差問題總結JavaDecimal
- 圖解計算機中的數值範圍和浮點運算圖解計算機
- JavaScript保留指定位數小數但是不進行四捨五入JavaScript