我使用简单的TextField
输入货币值,我想将其转移到BigDecimal
。现在我想输入像“145,53”这样的值(逗号分隔的小数,作为€的通常货币值)。但是如果我使用“145.53”它只接受该值。
我如何以正确的方式应用它?
答案 0 :(得分:2)
为TextField
设置自定义转换器。
从
开始public class CurrencyConverter extends StringToNumberConverter {
@Override
protected NumberFormat getFormat(Locale locale) {
if (locale == null) {
locale = Locale.getDefault();
}
return NumberFormat.getCurrencyInstance(locale);
}
}
如果您使用的是Spring,请使用LocaleContextHolder.getLocale()
代替Locale.getDefault()