【问题标题】:How Do I convert very big String to number in Java如何在Java中将非常大的字符串转换为数字
【发布时间】:2012-10-09 15:38:53
【问题描述】:

嗨,我有一个像这样的大字符串:

“999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999” P>

我希望将此字符串转换为长字符串。但我失败了。我做到了:

Long.parseLong(longString);

但我收到一个错误:

java.lang.NumberFormatException: For input string: "99999999.......

有什么办法可以避免吗?

【问题讨论】:

标签: java string numbers


【解决方案1】:

长: Reference

使用 8 字节存储从 -9,223,372,036,854,775,8089,223,372,036,854,775,807 的值

如回答前所述,请使用BigInteger

【讨论】:

    【解决方案2】:

    您可以使用BigInteger 而不是 Long。

     BigInteger number = new BigInteger(longString);
    

    Java BigInteger example

    【讨论】:

      【解决方案3】:

      像这样使用BigInteger 类:

       BigInteger number = new BigInteger(longString);
      

      【讨论】:

        【解决方案4】:

        您需要使用BigIntegerLong 可能无法容纳这么大的数字。

        这里是 BigInteger 的 javadoc。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2013-02-05
          • 1970-01-01
          • 2013-03-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-03-19
          相关资源
          最近更新 更多