Java大十进制格式异常
发布时间:2020-07-09 08:23:50 所属栏目:Java 来源:互联网
导读:为什么下面的代码抛出一个 java数字格式异常? BigDecimal d = new BigDecimal(10934,375); 是的,BigDecimal类在其构造函数中没有考虑到任何Locale,它需要一个String,可以在这个构造函数的Javadoc中读取: the fraction consists of a decimal point followed
|
为什么下面的代码抛出一个 java数字格式异常? BigDecimal d = new BigDecimal("10934,375");
解决方法是的,BigDecimal类在其构造函数中没有考虑到任何Locale,它需要一个String,可以在这个构造函数的Javadoc中读取:
如果要根据不同的区域设置进行解析,使用逗号作为小数分隔符,则需要使用具有特定区域设置的java.text.DecimalFormat. 例: DecimalFormat fmt = new DecimalFormat("0.0",new DecimalFormatSymbols(Locale.GERMAN));
fmt.setParseBigDecimal(true);
BigDecimal n = (BigDecimal) fmt.parse("10934,375");
注意:您需要获取DecimalFormat(NumberFormat的子类)的一个实例,以便能够调用setParseBigDecimal方法.否则它返回一个Double代替,它是一个二进制浮点数,二进制浮点数为cannot accurately represent many decimal fractions.这样在许多情况下会导致精度的损失. (编辑:日照站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- java – 如何使用Spring重新加载属性?
- java – Spring MVC中的自定义HttpMessageConverter
- Java遍历集合的三种方式
- Java常用正则表达式验证工具类RegexUtils.java
- Java网络通信基础编程(必看篇)
- Java中的“synchronized(this)”vs.“synchronized((BaseCl
- 深入解析Java的Spring框架中的混合事务与bean的区分
- java – 如何配置JComboBox在创建时不选择FIRST元素?
- java – 如何使用输入大小修饰符打印一个长类型值?
- 为什么选择行/单元格时,我的Java自定义单元格渲染器不会显示
