天天看點

java中double的使用方法_java中double型資料如何四舍五入?詳解

下面以儲存兩位有效數字為例。

1.首先我們想到用先乘以100取整後再除以100.0這種做法:

System.out.println(Math.round(4.015*100)/100.0);

執行結果為4.01,顯然沒有達到我們想要的結果。

2.那用java.text.DecimalFormat呢?

System.out.println(new java.text.DecimalFormat("0.00").format(4.015));

System.out.println(new java.text.DecimalFormat("0.00").format(4.025));

執行結果都為4.02。

3.用java.math.BigDecimal.

Math 類包含用于執行基本數學運算的方法,如初等指數、對數、平方根和三角函數。

提供用于執行任意精度整數算法 (BigInteger) 和任意精度小數算法 (BigDecimal) 的類。

double   abc   =   4.015;   //4.025

System.out.println(new  java.math.BigDecimal(abc).setScale(2,java.math.BigDecimal.ROUND_HALF_UP).doubleValue());

結果:4.01 (當使用4.025時結果為4.03)

看來還是達不到效果。

4.用下面的方法:

System.out.println(Math.round(4.015*100 + 0.5)/100.0);

5.試試下面的方法:

System.out.println(new  java.math.BigDecimal(Double.toString(abc)).setScale(2,java.math.BigDecimal.ROUND_HALF_UP).doubleValue());

java中double的使用方法_java中double型資料如何四舍五入?詳解

轉載請注明來源網站:www.itxm.cn謝謝!