今天需要用到经纬度,传值之后需要转为double,在网上找方法,偶然看到了,不正当转换可能会导致精度损失,所以特意找了一下不损失精度的方法,用BigDecimal。
用法如下
BigDecimal maxlng1 = new BigDecimal(jdwd.get("maxlng").toString());
double minlat = minlat1.doubleValue();
下面介绍一下BIgDecimal
在java中类似商业等领域需要的高精度运算,我们都知道不能用float和double,因为他们无法进行精确计算。但是Java的设计者给编程人员提供了一个很有用的类BigDecimal,他可以完善float和double类无法进行精确计算的缺憾。BigDecimal类位于java.maths类包下。
使用BigDecimal避免精度损失
本文介绍了如何使用BigDecimal解决Java中因使用float和double而导致的精度损失问题。通过具体实例展示了BigDecimal在处理高精度运算时的有效性和正确性。
646

被折叠的 条评论
为什么被折叠?



