【问题标题】:Transform a BigDecimal with a negative scale to a positive scale将具有负比例的 BigDecimal 转换为正比例
【发布时间】:2015-06-26 10:36:38
【问题描述】:

我得到BigDecimal 科学记数法的值,即1E+3 并且规模为-3。如何将其转换为 1000 并使用比例 0?我看到你可以使用toPlainString(),那么有没有直接的方法来实现这一点?

【问题讨论】:

    标签: java scale bigdecimal scientific-notation


    【解决方案1】:

    如果我理解正确,d = d.setScale(0) 将起作用:

    BigDecimal d = BigDecimal.valueOf(1e3).setScale(-3);
    System.out.println(d.unscaledValue());
    d = d.setScale(0);
    System.out.println(d.unscaledValue());
    

    输出是:

    1
    1000
    

    请注意,BigDecimal 是不可变的,因此您必须重新分配它。

    【讨论】:

      猜你喜欢
      • 2014-03-02
      • 2018-03-30
      • 1970-01-01
      • 2018-05-22
      • 2022-10-25
      • 1970-01-01
      • 1970-01-01
      • 2012-05-30
      • 1970-01-01
      相关资源
      最近更新 更多