这就是我现在所拥有的:
String text = "-9,23";
Character character = '.';
DecimalFormatSymbols symbols = new DecimalFormatSymbols();
symbols.setDecimalSeparator(character);
symbols.setGroupingSeparator(character.equals('.') ? ',' : '.');
DecimalFormat format = new DecimalFormat();
format.setDecimalFormatSymbols(symbols);
format.setParseBigDecimal(true);
ParsePosition parsePosition = new ParsePosition(0);
Object object = format.parse(text, parsePosition);
这样做的结果是-923而不是某种java.lang.NumberFormatException,我希望在这种情况下得到它。当传入的基于字符串的数字与来自db层的预定义格式标准(US或EU)不匹配时,我需要我的代码难以理解。最好的方法是什么?