描述
這個java.math.BigDecimal.setScale(int newScale)返回一個 BigDecimal,其標度為指定值,其值在數值上等於此 BigDecimal。如果這是不可能的,則拋出 ArithmeticException。
此調用通常用於增加比例,在這種情況下,可以保證存在指定比例的 BigDecimal 和正確的值。如果調用者知道 BigDecimal 在其小數部分的末尾有足夠多的零(即其整數值中的 10 倍),則該調用還可用於縮小比例,以允許在不改變其值的情況下進行重新縮放。
此方法返回與 setScale 的 two-argument 版本相同的結果,但省去了調用者在不相關的情況下指定舍入模式的麻煩。
由於 BigDecimal 對象是不可變的,因此調用此方法不會導致原始對象被修改,這與將方法命名為 setX mutate field X 的通常約定相反。相反,setScale 返回具有適當比例的對象;返回的對象可能是也可能不是新分配的
聲明
以下是聲明java.math.BigDecimal.setScale()方法。
public BigDecimal setScale(int newScale)
參數
newScale- 要返回的 BigDecimal 值的比例。
返回值
此方法返回一個 BigDecimal,其標度為指定值,其未標度值由此 BigDecimal 的標度值乘以或除以適當的 10 次冪來確定,以保持其整體值
異常
ArithmeticException− 如果指定的縮放操作需要舍入。
示例
下麵的例子展示了 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.126");
// set scale of bg1 to 6 in bg2
bg2 = bg1.setScale(6);
String str = "The value of " +bg1+ " after changing the scale to 6 is " +bg2;
// print bg2 value
System.out.println( str );
}
}
讓我們編譯並運行上麵的程序,這將產生以下結果 -
The value of 123.126 after changing the scale to 6 is 123.126000
相關用法
- Java Java.math.BigDecimal.setScale()用法及代碼示例
- Java Java.math.BigDecimal.scaleByPowerOfTen()用法及代碼示例
- Java Java.math.BigDecimal.scale()用法及代碼示例
- Java Java.math.BigDecimal.stripTrailingZeros()用法及代碼示例
- Java Java.math.BigDecimal.shortValueExact()用法及代碼示例
- Java Java.math.BigDecimal.subtract()用法及代碼示例
- Java Java.math.BigDecimal.signum()用法及代碼示例
- Java Java.math.BigDecimal.hashCode()用法及代碼示例
- Java Java.math.BigDecimal.toString()用法及代碼示例
- Java Java.math.BigDecimal.toBigInteger()用法及代碼示例
- Java Java.math.BigDecimal.compareTo()用法及代碼示例
- Java Java.math.BigDecimal.longValue()用法及代碼示例
- Java Java.math.BigDecimal.ulp()用法及代碼示例
- Java Java.math.BigDecimal.divideToIntegralValue()用法及代碼示例
- Java Java.math.BigDecimal.abs()用法及代碼示例
- Java Java.math.BigDecimal.plus()用法及代碼示例
- Java Java.math.BigDecimal.divideAndRemainder()用法及代碼示例
- Java Java.math.BigDecimal.round()用法及代碼示例
- Java Java.math.BigDecimal.toEngineeringString()用法及代碼示例
- Java Java.math.BigDecimal.equals()用法及代碼示例
注:本文由純淨天空篩選整理自 Java.math.BigDecimal.setScale() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。