今天需要用到经纬度,传值之后需要转为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类包下。