Java数字类型数据转换异常?

源码客栈 课程设计 1

String userId= "1095185405620432897.002";

Long l = new Double(userId).longValue();// 这里是将字符串转Double,然后利用Double类的方法转成Long // l 的值为1095185405620432896 得到了的l 比userId少1;

回复

共1条回复 我来回复
  • 源码工厂
    这个人很懒,什么都没有留下~
    评论

    精度的问题!用基本类型的double类型进行运算可能会丢失精度。 而且特别大的数又没法处理。所以如果用BigDecimal这个类问题就解决了。 BigDecimal maxlng1 = new BigDecimal(jdwd.get("userld").toString()); double minlat = minlat1.doubleValue();

    0条评论

发表回复

登录后才能评论