gpt4 book ai didi

java - 将货币解析为双倍引发异常

转载 作者:太空宇宙 更新时间:2023-11-04 12:08:30 24 4
gpt4 key购买 nike

我有一个字符串“R$3.333,33”,我尝试使用此方法将其解析为 double 值:

public static BigDecimal parse(final String amount, final Locale locale) throws ParseException {
final NumberFormat format = NumberFormat.getCurrencyInstance(locale);
if (format instanceof DecimalFormat) {
((DecimalFormat) format).setParseBigDecimal(true);
}
return (BigDecimal) format.parse(amount.replaceAll("[^\\d.,]", ""));
}

但是我收到一个异常:

W/System.err: java.text.ParseException: Unparseable number: "3.333,33" (at offset 8)

我使用它的方式如下:

Ferramentas.parse(value.getText().toString(), Locale.FRANCE)

最佳答案

我发现的唯一解决方案是替换正则表达式中的 .:

return (BigDecimal) format.parse(amount.replaceAll("[^\\d,]",""));

我无法用 . 解析数千个数字。

  • 如果保留 .,它将被解析为 3
  • 如果将 . 替换为 ,,它会被解析为 3.333

如果有人有针对数千人的 . 的解决方案,我真的很想听听。

关于java - 将货币解析为双倍引发异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40097162/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com