1
四捨五入選擇我正在寫有圓非常大和精確的數的程序(可能還有更多顯著數字甚至比雙能處理),並且正在使用BigDecimals的。高級與BigDecimal的
有沒有一種方法,使BigDecimal的一輪基礎上的地方,而不是顯著數字?
也就是說,我需要0.5四捨五入到1和0.4舍入到0,但由於它們是相同數量的顯著數字,BigDecimal的拒絕圓他們的任何。
四捨五入選擇我正在寫有圓非常大和精確的數的程序(可能還有更多顯著數字甚至比雙能處理),並且正在使用BigDecimals的。高級與BigDecimal的
有沒有一種方法,使BigDecimal的一輪基礎上的地方,而不是顯著數字?
也就是說,我需要0.5四捨五入到1和0.4舍入到0,但由於它們是相同數量的顯著數字,BigDecimal的拒絕圓他們的任何。
我懷疑你想setScale
:
import java.math.*;
public class Test
{
public static void main(String[] args)
{
showRounded(new BigDecimal("0.4"));
showRounded(new BigDecimal("0.5"));
}
static void showRounded(BigDecimal input)
{
BigDecimal output = input.setScale(0, BigDecimal.ROUND_HALF_UP);
System.out.println(input + " => " + output);
}
}