中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

java bigdecimal精度怎么設置

小億
146
2023-12-22 09:25:03
欄目: 編程語言

在Java中,可以使用BigDecimal類來處理精確的十進制運算,并且可以設置精度。

BigDecimal類的構造方法可以接受一個字符串或者一個double類型的值作為參數。如果傳入一個double類型的值,它會自動轉換為一個字符串。然后,可以使用setScale方法來設置精度。

下面是一個例子:

import java.math.BigDecimal;

public class Main {
    public static void main(String[] args) {
        BigDecimal number1 = new BigDecimal("10.345");
        BigDecimal number2 = new BigDecimal("20.1234");
        
        BigDecimal result = number1.add(number2);
        
        result = result.setScale(2, BigDecimal.ROUND_HALF_UP);
        
        System.out.println(result); // 輸出30.47
    }
}

在上面的例子中,我們創建了兩個BigDecimal對象number1和number2,分別表示10.345和20.1234。然后,我們使用add方法將這兩個數相加,并將結果存儲在result變量中。接下來,我們使用setScale方法設置精度為2,并使用ROUND_HALF_UP指定四舍五入的規則。最后,我們輸出結果30.47。

注意,setScale方法的第一個參數是精度,第二個參數是要使用的舍入模式。常用的舍入模式有:

  • ROUND_UP:向遠離零的方向舍入
  • ROUND_DOWN:向零的方向舍入
  • ROUND_CEILING:向正無窮方向舍入
  • ROUND_FLOOR:向負無窮方向舍入
  • ROUND_HALF_UP:最近數字舍入(5進)。如果保留位后一位大于5,則向上舍入;否則,向下舍入。
  • ROUND_HALF_DOWN:最近數字舍入(5舍)。如果保留位后一位大于等于5,則向上舍入;否則,向下舍入。
  • ROUND_HALF_EVEN:最近數字舍入(5進)。如果保留位后一位大于5,則向上舍入;如果保留位后一位小于5,則向下舍入;如果保留位后一位等于5,且保留位后一位后面的所有位都為0,則向下舍入。

0
沙雅县| 长丰县| 乃东县| 桃源县| 崇明县| 石渠县| 静宁县| 黑龙江省| 慈利县| 雅安市| 高青县| 芒康县| 比如县| 黎川县| 九龙县| 满城县| 盘锦市| 原阳县| 蒲城县| 准格尔旗| 招远市| 景德镇市| 谢通门县| 武邑县| 长乐市| 福建省| 大城县| 彭水| 肃北| 祁阳县| 闽侯县| 青河县| 黎平县| 杨浦区| 丽江市| 宜昌市| 天峻县| 江西省| 贡觉县| 永济市| 长兴县|