【问题标题】:BigDecimal string formatting with thousands separator (###.###,##) [duplicate]带有千位分隔符的 BigDecimal 字符串格式(###.###,##)[重复]
【发布时间】:2014-01-13 12:37:38
【问题描述】:

我有一个 BigDecimal,我想将其值转换为字符串,并且 不会 丢失任何精度。

我想使用的格式是###.###,##(逗号表示千位,句点表示小数)。

我完成这项工作的唯一方法是使用

DecimalFormat formatter = new DecimalFormat("###.###,##");
formatter.format(bd.doubleValue());

...但我担心这样可能会丢失信息,而且精度是必须的,因为我处理的是货币(每一分钱都很重要)。

附加信息:如果有任何帮助,我只会处理不超过 100 万的金额。

【问题讨论】:

    标签: java formatting bigdecimal


    【解决方案1】:

    为了安全起见,您可以将 BigDecimal 乘以 100。
    然后得到它的 intValue -> 说 N。然后得到 N/100 和 N%100。
    这样就不会丢失精度(N

    【讨论】:

      猜你喜欢
      • 2023-03-03
      • 2013-05-16
      • 2018-05-11
      • 1970-01-01
      • 2018-06-22
      • 2022-09-27
      • 2012-03-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多