尝试这个
// Create a DecimalFormat that fits your requirements
DecimalFormatSymbols symbols = new DecimalFormatSymbols();
symbols.setGroupingSeparator(',');
symbols.setDecimalSeparator('.');
String pattern = "#,##0.0#";
DecimalFormat decimalFormat = new DecimalFormat(pattern, symbols);
decimalFormat.setParseBigDecimal(true);
// parse the string
BigDecimal bigDecimal = (BigDecimal) decimalFormat.parse("10,692,467,440,017.120");
System.out.println(bigDecimal);
如果您正在构建具有I18N支持的应用程序,您应该使用DecimalFormatSymbols(Locale)
还要记住,decimalFormat.parse可以抛出一个ParseException,所以你需要处理它(用try / catch)或抛出它,让你的程序的另一部分处理它