首页 文章

如果精度值小于刻度,则填充零

提问于
浏览
0

如果我除以1.0f / 2.0f,则值为0.5 .

我希望精度值为5(0.50000) . 使用BigDecimal将比例设置为5但仍然将值打印为0.5

BigDecimal val = new BigDecimal(1.0f / 2.0f); BigDecimal tt = val.setScale(5);的System.out.println(tt.doubleValue);

如何设置比例并使其为0.50000 . 我的意思是如果精度值小于刻度,则填充额外为零

例如,在这种情况下,1/2总是0.5(精度为1),如果我想要更高的精度(比如5),我该如何实现它

请指教

2 回答

  • 0

    只需打印BigDecimal

    BigDecimal val = new BigDecimal(1.0f/2.0f);
        BigDecimal tt = val.setScale(5); 
        System.out.println(tt);
    

    或者如果你想使用双,那么你可以使用

    System.out.printf("%.5f%n", tt.doubleValue());
    
  • 1

    使用 DecimalFormat

    BigDecimal a = new BigDecimal(1/2.0);
    BigDecimal value = a.setScale(5, BigDecimal.ROUND_HALF_EVEN);
    System.out.println(value);
    

    输出是:

    0.50000
    

相关问题