【发布时间】:2014-06-03 10:00:36
【问题描述】:
我有以下代码
private boolean isRightMoneyValue(String value, String currencyIso) {
Locale locale = new Locale(currencyIso);
NumberFormat currencyFormatter = NumberFormat.getCurrencyInstance(locale);
try {
currencyFormatter.format(value);
} catch (Exception e) {
return false;
}
return true;
}
这个函数的输入是“1234567898.06789”作为值和“EUR”的currencyIso。 该方法总是导致异常。 不知道这里出了什么问题。
【问题讨论】:
-
哪个例外?至少可以添加消息吗?
-
您要求它格式化一个值...但该值已经是一个字符串。尝试传入
BigDecimal代替...或使用parse代替format。 -
不要在你的代码中吞下
Exception,至少记录异常!