當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Java Java.math.BigDecimal.setScale()用法及代碼示例


描述

這個java.math.BigDecimal.setScale(int newScale, RoundingMode roundingMode)返回一個 BigDecimal,它的標度是指定的值,其未標定值是通過將此 BigDecimal 的未標定值乘以或除以適當的 10 次冪來確定的,以保持其整體值。

如果操作縮小了比例,則必須對未縮放的值進行除法(而不是相乘),並且可能會更改該值;在這種情況下,指定的舍入模式應用於除法。

由於 BigDecimal 對象是不可變的,因此調用此方法不會導致原始對象被修改,這與將方法命名為 setX mutate field X 的通常約定相反。相反,setScale 返回具有適當比例的對象;返回的對象可能是也可能不是新分配的。

聲明

以下是聲明java.math.BigDecimal.setScale()方法。

public BigDecimal setScale(int newScale, RoundingMode roundingMode)

參數

  • newScale- 要返回的 BigDecimal 值的比例。

  • roundingMode- 要應用的舍入模式。

返回值

此方法返回一個 BigDecimal,其標度為指定值,其未標度值是通過將此 BigDecimal 的標度值乘以或除以適當的 10 次冪來確定的,以保持其整體值。

異常

ArithmeticException− 如果 roundingMode == ROUND_UNNECESSARY 並且指定的縮放操作需要舍入。

示例

下麵的例子展示了 math.BigDecimal.setScale() 方法的用法。

package com.tutorialspoint;

import java.math.*;

public class BigDecimalDemo {

   public static void main(String[] args) {

      // create 2 BigDecimal Objects
      BigDecimal bg1, bg2;

      bg1 = new BigDecimal("123.12678");

      // set scale of bg1 to 2 in bg2 using floor as rounding mode
      bg2 = bg1.setScale(2, RoundingMode.FLOOR);

      String str = bg1 + " after changing the scale to 2 and rounding is " +bg2;

      // print bg2 value
      System.out.println( str );
   }
}

讓我們編譯並運行上麵的程序,這將產生以下結果 -

123.12678 after changing the scale to 2 and rounding is 123.12

相關用法


注:本文由純淨天空篩選整理自 Java.math.BigDecimal.setScale() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。