zoukankan      html  css  js  c++  java
  • Caused by: java.lang.NumberFormatException: For input string: "18446744073709551615"

    问题:Caused by: java.lang.NumberFormatException: For input string: "18446744073709551615"

    原因:18446744073709551615  --有20位,

    而long类型的最大长度是: 19位:9223372036854775807

    long类型的最大值是9223372036854775807,刚好长度是19个数字

     

    解决:

    1.类型换成 float, float的最大值为3.403E38, 也就是3.403*10的38次方,这个长度至少在38位吧,够用了

     

    2.BigInteger. 非基本类型,需要用对应的+-*/方法,如下: 

    求和:
    BigInteger add(BigInteger val) 返回两个大整数的和
    求差:
    BigInteger subtract(BigInteger val) 返回两个大整数的差
    求积:
    BigInteger multiply(BigInteger val) 返回两个大整数的积
    求商:
    BigInteger divide(BigInteger val) 返回两个大整数的商
    求模:
    BigInteger mod(BigInteger val) 用当前大整数对val求模
    求乘方:
    BigInteger pow(int exponent) 返回当前大整数的exponent次方
    求余:
    BigInteger remainder(BigInteger val) 返回当前大整数除以val的余数


    类型转换:
    double doubleValue() 返回大整数的double类型的值
    float floatValue() 返回大整数的float类型的值
    long longValue() 返回大整数的long型值
    int intValue() 返回大整数的整型值


    其它:
    BigInteger abs() 返回大整数的绝对值
    BigInteger gcd(BigInteger val) 返回大整数的最大公约数
    BigInteger max(BigInteger val) 返回两个大整数的最大者
    BigInteger min(BigInteger val) 返回两个大整数的最小者
    byte[] toByteArray(BigInteger val)将大整数转换成二进制反码保存在byte数组中

    详见:https://blog.csdn.net/weixin_40254218/article/details/79474600

     

    3.BigDecimal

    BigInteger 任意精度的整数~
    可以使用BigDecimal, 支持大整数,浮点运算

    long也有限制,不过BigInteger可以存任意大的数

    1、有两个类BigInteger和BigDecimal分别表示大整数类和大浮点数类,可以作为比long还要大的数据类型
    2、使用字符串或字符串数组、集合等能够存储比long大很多倍的整数变量类型(需数据类型转换)

    Java中为什么float型最大值大于long型?
    https://blog.csdn.net/u011240877/article/details/47723263

    Java中有比long还大的整数类型吗
    https://zhidao.baidu.com/question/240285392967051564.html

  • 相关阅读:
    实验十四 线程设计
    实验十三 窗口设计
    实验十二 swing图形界面设计
    实验十一 图形界面二
    实验十 图形用户界面设计
    实验九 异常的抛出,捕获并处理
    实验八 接口与实现接口的类
    实验六 类的封装
    实验五:任意输入10个int类型数据,排序输出,再找出素数
    实验四:采用一维数组输出等腰三角形的杨辉三角
  • 原文地址:https://www.cnblogs.com/bluestorm/p/10471329.html
Copyright © 2011-2022 走看看