Java-math-bigdecimal-setscale
提供:Dev Guides
Java.math.BigDecimal.setScale()メソッド
説明
- java.math.BigDecimal.setScale(int newScale)*は、スケールが指定された値であり、値がこのBigDecimalの数値と等しいBigDecimalを返します。 これが不可能な場合、ArithmeticExceptionをスローします。
この呼び出しは通常、スケールを大きくするために使用されます。その場合、指定されたスケールと正しい値のBigDecimalが存在することが保証されます。 呼び出しは、BigDecimalの小数部分の終わりに十分な数のゼロ(つまり、整数値の10倍)があり、値を変更せずに再スケーリングできることを呼び出し元が知っている場合、スケールを縮小するためにも使用できます。
このメソッドは、引数が2つのバージョンのsetScaleと同じ結果を返しますが、呼び出し側が無関係な場合に丸めモードを指定する手間を省きます。
BigDecimalオブジェクトは不変であるため、このメソッドを呼び出しても、setX mutateフィールドXという名前のメソッドを持つ通常の規則に反して、元のオブジェクトは変更されません。 代わりに、setScaleは適切なスケールのオブジェクトを返します。返されたオブジェクトは、新しく割り当てられる場合と割り当てられない場合があります
宣言
次に、* java.math.BigDecimal.setScale()*メソッドの宣言を示します。
public BigDecimal setScale(int newScale)
パラメーター
*newScale* -返されるBigDecimal値のスケール。
戻り値
このメソッドは、スケールが指定された値であるBigDecimalを返し、そのスケールなしの値は、このBigDecimalのスケールなしの値を適切な10の累乗で乗算または除算することにより決定され、全体の値を維持します
例外
*ArithmeticException* -指定されたスケーリング操作に丸めが必要な場合。
例
次の例は、math.BigDecimal.setScale()メソッドの使用法を示しています。
package com.finddevguides;
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