Java.math.BigDecimal.setScale()方法實例
java.math.BigDecimal.setScale(int newScale) 返回一個BigDecimal,其精度爲指定值,其值在數值上等於該BigDecimal。拋出一個ArithmeticException如果不可能。
此調用通常用於增加範圍,在這種情況下,它是保證存在指定的精度的一個BigDecimal和正確的值。該調用也可以被用來降低精度,如果調用方知道BigDecimal具有足夠多的零在其小數部分的端部(即,10的在其整數值的因素),以允許重新縮放而不改變其值。
此方法返回相同的結果爲setScale的兩個參數的版本,但保存調用者的情況下,它是無關緊要的指定舍入模式當有遇到一些麻煩。
由於BigDecimal對象是不可變的,這個方法的調用不會導致被修改原始對象,違背了其名爲setX變異字段X方法,而不是通常的慣例,setScale返回一個對象具有適當精度;返回的對象可能會或可能不會被新分配
聲明
以下是java.math.BigDecimal.setScale()方法的聲明
public BigDecimal setScale(int newScale)
參數
- newScale - 要返回BigDecimal值的精度
返回值
此方法返回一個BigDecimal,其標度爲指定值,其非標度值乘以或除以此BigDecimal的非標度值除以10,以保持其整體值。
異常
- ArithmeticException - 如果指定精度操作,需要舍入
例子
下面的例子顯示math.BigDecimal.setScale()方法的用法
package com.yiibai; 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