小编xgr*_*mau的帖子

NumberFormat 货币解析失败“无法解析的数字”

当我尝试解析“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);
}
Run Code Online (Sandbox Code Playgroud)

这是我运行测试时抛出的

java.text.ParseException: Unparseable number: "10,10 €"
Run Code Online (Sandbox Code Playgroud)

每当我这样做时,它都可以正常工作:

@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);
}
Run Code Online (Sandbox Code Playgroud)

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

java currency

5
推荐指数
1
解决办法
2269
查看次数

标签 统计

currency ×1

java ×1