今天需要用到經緯度,傳值之後需要轉爲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類包下。