don*_*ton 1 java decimal rounding significant-digits bigdecimal
我正在编写一个程序,必须舍入非常大和精确的数字(可能比偶数双倍可以处理的更多有效数字),并使用BigDecimals.
有没有办法根据地点而不是有效数字来制作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);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
631 次 |
| 最近记录: |