要保留兩位有效數(shù)字,可以使用BigDecimal的setScale方法來(lái)設(shè)置精度。
首先,需要將要操作的數(shù)值轉(zhuǎn)換為BigDecimal對(duì)象??梢允褂肂igDecimal的構(gòu)造函數(shù)來(lái)完成轉(zhuǎn)換,例如:
BigDecimal number = new BigDecimal("3.1415926");
然后,使用setScale方法來(lái)設(shè)置精度。setScale方法接受兩個(gè)參數(shù),第一個(gè)參數(shù)是要保留的小數(shù)位數(shù),第二個(gè)參數(shù)是舍入模式。舍入模式可以使用BigDecimal提供的常量來(lái)指定,常見(jiàn)的有ROUND_UP(向上舍入)、ROUND_DOWN(向下舍入)、ROUND_HALF_UP(四舍五入)等。
例如,要保留兩位有效數(shù)字并進(jìn)行四舍五入,可以這樣設(shè)置精度:
BigDecimal roundedNumber = number.setScale(2, BigDecimal.ROUND_HALF_UP);
最后,可以打印輸出結(jié)果:
System.out.println(roundedNumber);
完整示例代碼如下:
import java.math.BigDecimal;
public class Main {
public static void main(String[] args) {
BigDecimal number = new BigDecimal("3.1415926");
BigDecimal roundedNumber = number.setScale(2, BigDecimal.ROUND_HALF_UP);
System.out.println(roundedNumber);
}
}
輸出結(jié)果為:
3.14