BigDecimal setScale(int newScale)
优质
小牛编辑
131浏览
2023-12-01
描述 (Description)
java.math.BigDecimal.setScale(int newScale)返回一个BigDecimal,其标度是指定值,其值在数值上等于此BigDecimal。 如果不可能,则抛出ArithmeticException。
此调用通常用于增加比例,在这种情况下,可以保证存在指定比例的BigDecimal和正确的值。 如果调用者知道BigDecimal在其小数部分的末尾具有足够多的零(即,其整数值为10的因子)以允许重新缩放而不改变其值,则该调用也可用于减小比例。
此方法返回与setScale的双参数版本相同的结果,但在调用者无关紧要的情况下保存指定舍入模式的麻烦。
由于BigDecimal对象是不可变的,因此调用此方法不会导致原始对象被修改,这与通常使用名为setX mutate field X的方法相反。相反,setScale返回具有适当比例的对象; 返回的对象可能会或可能不会被新分配
声明 (Declaration)
以下是java.math.BigDecimal.setScale()方法的声明。
public BigDecimal setScale(int newScale)
参数 (Parameters)
newScale - 要返回的BigDecimal值的比例。
返回值 (Return Value)
此方法返回一个BigDecimal,其标度为指定值,其未缩放值是通过将此BigDecimal的非标度值乘以或除以适当的10的幂来确定的,以保持其整体值
异常 (Exception)
ArithmeticException - 如果指定的缩放操作需要舍入。
例子 (Example)
以下示例显示了math.BigDecimal.setScale()方法的用法。
package cn.xnip;
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