gpt4 book ai didi

java - NumberFormat 货币解析失败 "Unparseable number"

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:31:23 24 4
gpt4 key购买 nike

当我尝试解析“10,10 €”时,NumberFormat 抛出 ParseException。

@Test
public void get_currency_from_text() throws Exception {
String moneyAsString = "10,10 €";
//Do not use double for monetary values
Double moneyAsDouble = 10.10;

NumberFormat formatter = NumberFormat.getCurrencyInstance(Locale.GERMANY);
Double parsedMoney = formatter.parse(moneyAsString).doubleValue();
assertEquals(moneyAsDouble, parsedMoney);
}

这是我运行测试时抛出的内容

java.text.ParseException: Unparseable number: "10,10 €"

虽然我这样做时它工作正常:

@Test
public void get_currency_from_text() throws Exception {

Double moneyAsDouble = 10.10;

NumberFormat formatter = NumberFormat.getCurrencyInstance(Locale.GERMANY);
String moneyAsString = formatter.format(moneyAsDouble);
Double parsedMoney = formatter.parse(moneyAsString).doubleValue();

System.out.println(moneyAsString);
//10,10 €

assertEquals(moneyAsDouble, parsedMoney);
}

我怀疑它与空间有关,但我仍然不知道如何解决它,有什么想法吗?

最佳答案

似乎“10,10 €”中的空格不是格式化程序所期望的正确 ASCII。这里清楚地提到 ( Parse currency with symbol: Not all case working - Java ) 格式类需要代码为 160 的字符,它被描述为“不间断空格”。

关于java - NumberFormat 货币解析失败 "Unparseable number",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54579307/

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