我有这个字符串:10,692,467,440,017.120(这是一个金额)。
我想将其解析为 BigDecimal。问题是我尝试了 DecimalFormat 和 NumbeFormat 都没有成功。
Try this
// 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)或抛出它并让程序的另一部分处理它
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)