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

时间:2009-12-10 05:52:47

标签: java types type-conversion

我真的有一长串字符,例如123222222222230000000000001。我想把它转换为long。在Java中最有效的方法是什么?

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

3 个答案:

答案 0 :(得分:9)

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

您需要使用BigInteger类型和constructor that accepts a String parameter

  

翻译十进制字符串   将BigInteger表示为一个   BigInteger的。字符串表示   由可选的减号组成   然后是一个或多个序列   十进制数字。字符到数字   映射由。提供   Character.digit将。 字符串可能不会   包含任何无关的字符   (例如,空白)。

答案 1 :(得分:1)

您不能将31位数字放入长整数中,但仅供参考:

 long primitive = Long.parseLong(longString); 
 Long object = Long.valueOf(longString);

答案 2 :(得分:1)

BigDecimal
也可用于将字符串转换为long。