String userId= "1095185405620432897.002";
Long l = new Double(userId).longValue();// 这里是将字符串转Double,然后利用Double类的方法转成Long
// l 的值为1095185405620432896
得到了的l 比userId少1;
小子无知,望大佬告知小子?
不知道原因,换new BigDecimal(userId).longValue()
谢谢
精度的问题!用基本类型的double类型进行运算可能会丢失精度。
而且特别大的数又没法处理。所以如果用BigDecimal这个类问题就解决了。
BigDecimal maxlng1 = new BigDecimal(jdwd.get("userld").toString());
double minlat = minlat1.doubleValue();
谢谢
double是有長度限制的
– ?,???? 4年前