【问题标题】:Conversion of String to BigDecimal format将字符串转换为 BigDecimal 格式
【发布时间】:2020-08-30 15:30:31
【问题描述】:

我有一个类似于“$1,234.00”的字符串。我需要将其转换为 BigDecimal 值。无法使用正常的 BigDecimal 转换方法来执行此操作,因为它会引发 NumberFormatException。有没有办法实现?

【问题讨论】:

  • 您是否尝试删除美元符号和“,”?

标签: java string type-conversion bigdecimal


【解决方案1】:

"$1,234.00"是一个格式化数字文本,所以你需要使用NumberFormat来解析数字。

特别是,您需要一个DecimalFormat,这样您就可以调用setParseBigDecimal(true) 方法,因为您需要一个BigDecimal 作为结果,否则它可能会返回一个Double

DecimalFormat format = new DecimalFormat("¤#,##0.00", DecimalFormatSymbols.getInstance(Locale.US));
format.setParseBigDecimal(true);
BigDecimal number = (BigDecimal) format.parse(input);

【讨论】:

    猜你喜欢
    • 2018-11-29
    • 2022-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-13
    • 2014-01-16
    相关资源
    最近更新 更多