描述
这个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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。