日期:2014-05-20  浏览次数:20668 次

初学者问题
Java编程时,用double或float型时,有时结果显示太多位且有误差,比如当用float型来当金额时,有时明明算出是7.5元整,结果却是7.499997之类的……请问有什么方法来让其正确显示出7.5吗?即怎么能去掉尾数的误差?

------解决方案--------------------
用BigDecimal
------解决方案--------------------
用double
或者,显示的时候你把对应的数据取小数点后面2位或要求的尾数就好了!
------解决方案--------------------
用java.text.NumberFormat类的setMinimumFractionDigits方法。
Example:
------------------------------------------
double x = 15.0 / 2.0;
NumberFormat formatter = NumberFormat.getNumberInstance();
formatter.setMinimumFractionDigits(1);

System.out.println(formatter.format(x));

------------------------------------------