在使用NumberFormat的问题

最近在修改项目中一段老代码,如:
  double num = 1000;
  NumberFormat numberFormat = NumberFormat.getInstance();
  String i = numberFormat.format(num);
当num小于1000的时候参与后面的运算的时候,未发现异常,当num大于,等于1000抛了异常。
后面排除发现在调用NumberFormat的时候会将值转换,
num大于,等于1000时转换成1,000,会在第三个数字(从右往左)前加“,”号,自然在后续的运算中由于特殊字符会抛异常。num小于1000时不会有上述情况出现。这跟该类型转换相关,会将数字转换成特定的地区规则格式化数字。
  为了避免以上问题发生,在该代码后面加入numberFormat.setGroupingUsed(false);方法之后,问题就可以解决。

猜你喜欢

转载自bud407.iteye.com/blog/2233528