DecimalFormat的精度问题
java.text.DecimalFormat df =new java.text.DecimalFormat("##.####");
String num = "777777777777.3300";
System.out.println(df.format(Float.parseFloat(num)).toString());
结果却是777777774592,我需要的结果是777777777777.33,即是最多保留最多四位小数,尾数为0的去掉
不知什么原因,而且对DecimalFormat方法不是很熟悉,查api说的也不是很清楚
String num = "777777777777.3300";
System.out.println(df.format(Float.parseFloat(num)).toString());
结果却是777777774592,我需要的结果是777777777777.33,即是最多保留最多四位小数,尾数为0的去掉
不知什么原因,而且对DecimalFormat方法不是很熟悉,查api说的也不是很清楚
...全文
相关推荐
DecimalFormat精度解决,商业运算精度问题
### DecimalFormat精度解决与商业运算精度问题在进行财务计算或者商业运算时,精度问题往往成为影响最终结果准确性的关键因素之一。
解决Java中由于数据太大自动转换成科学计数法的问题
问题描述在Java中,当我们处理大数据时,例如Long类型或Double类型的数字,可能会自动转换成科学计数法的形式,例如1.23456789E10。这种自动转换可能会导致数据的精度丢失或难以阅读。
java保留两位小数问题
为了避免这种情况,可以使用`DecimalFormat`来指定格式化模式:```javajava.text.DecimalFormat df = new java.text.DecimalFormat(
double类型转换
尤其在进行数学运算或比较时,这种精度问题可能会导致不准确的结果。
java代码-BigDecimal转String
它在处理财务计算、精确数学运算等场景中尤为关键,因为普通的`float`和`double`类型可能会因为精度问题导致计算结果不准确。


Java SE
