当string有千分位位时,new BigDecimal(String)报错:
java.lang.NumberFormatException:Character , is neither a decimal digit number, decimal point, nor "e" notation exponential mark
应在String后面将,替换掉
String a="5,900.98";
BigDecimal b=new BigDecimal(a.replace(",",""));
System.out.println(b);
除了以上原因还可能是以下原因造成:
1.输入字符串包含非数字字符
2.输入字符串包含多个小数点
3.输入字符串包含多个负号或正号
4.输入字符串包含逗号分隔符等非法字符
5.输入字符串包含空字符串""