在Java中有效地将长字符串转换为long

new*_*bie 2 java types type-conversion

我真的有很长的一系列字符,比如123222222222230000000000001.我想将它转换为long.在Java中最有效的方法是什么?

更新:序列的最大长度为31个字符

And*_*are 9

首先,像这样的字符串值永远不会适合long(它很大),

您将需要使用接受参数BigInteger类型和构造String函数:

将BigInteger的十进制字符串表示形式转换为BigInteger.字符串表示由可选的减号后跟一个或多个十进制数字的序列组成.字符到数字的映射由Character.digit提供.字符串可能不包含任何无关的字符(例如,空格).

  • 鉴于事实Long.MAX_VALUE = 2 ^ 63 - 1,其中有19位数字,它仍然没有机会适合长.建议使用BigInteger. (4认同)