在使用NumberFormat的问题
2015-08-07 11:41
225 查看
[size=medium]最近在修改项目中一段老代码,如:
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);方法之后,问题就可以解决。[/size]
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);方法之后,问题就可以解决。[/size]
相关文章推荐
- Oracle中Number类型字段使用.netTiers和CodeSmith问题的解决方案
- 处理导出到EXCEL时,身份证号码的问题:mso-number-format
- el表达式保留两位小数、使用jstl <fmt:formatNumber>标签保留两位小数
- ascb.util包下载与ascb.util.DateFormat、ascb.util.NumberUtilities使用
- MySQLdb TypeError: %d format: a number is required, not str问题解决
- el表达式保留两位小数、使用jstl <fmt:formatNumber>标签保留两位小数
- openoffice使用总结001---版本匹配问题unknown document format for file: E:\apache-tomcat-8.5.23\webapps\ZcnsDms\
- 数字格式化类NumberFormat 的使用
- jsp <fmt:formatNumber> 使用
- java.text.NumberFormat使用方法
- el表达式保留两位小数、使用jstl <fmt:formatNumber>标签保留两位小数
- Integer.parseInt()函数 NumberFormatException异常问题
- python Format使用时产生Traceback问题
- NumberFormatException: For input string: "undefined"问题解决记录
- NumberFormat使用
- 使用string.Format需要注意的一个性能问题
- xstream fromxml时,处理NumberFormatException及忽略多余xml节点的问题
- accounting.formatNumber/Money的使用格式化货币、数字
- SimpleDateFormat的使用问题
- 解决使用SimpleDateFormat解析时间字符串的Locale问题