描述
这个java.math.BigDecimal.setScale(int newScale, int roundingMode)返回一个 BigDecimal,它的标度是指定的值,其未标定值是通过将此 BigDecimal 的未标定值乘以或除以适当的 10 次幂来确定的,以保持其整体值。
如果通过操作缩小了比例,则必须对未缩放的值进行除法(而不是相乘),并且可能会更改该值。这里,指定的舍入模式应用于除法。
由于 BigDecimal 对象是不可变的,因此调用此方法不会导致原始对象被修改,这与将方法命名为 setX mutate field X 的通常约定相反。相反,setScale 返回具有适当比例的对象;返回的对象可能是也可能不是新分配的。
声明
以下是声明java.math.BigDecimal.setScale()方法。
public BigDecimal setScale(int newScale, int roundingMode)
参数
newScale- 要返回的 BigDecimal 值的比例。
roundingMode- 要应用的舍入模式。
返回值
此方法返回一个 BigDecimal,其标度为指定值,其未标度值是通过将此 BigDecimal 的标度值乘以或除以适当的 10 次幂来确定的,以保持其整体值。
异常
ArithmeticException− 如果 roundingMode == ROUND_UNNECESSARY 并且指定的缩放操作需要舍入。
IllegalArgumentException− 如果 roundingMode 不代表有效的舍入模式。
示例
下面的例子展示了 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
// 0 specifies ROUND_UP
bg2 = bg1.setScale(2, 0);
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.13
相关用法
- 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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。