Java中的Convert.ToInt64等效项

时间:2018-12-10 09:33:18

标签: java c# parsing long-integer typeconverter

我尝试在c#中使用以下代码,结果如下:

long dec1 = Convert.ToInt64("B62FD56EFD5B375D", 16);

结果:-531879796222753398

我试图在Java中执行此操作,但我总是得到NumberFormatException,因为字符串中包含字母数字。我在Java中编写的代码是:

Long.parseLong("B62FD56EFD5B375D", 16);

我可以知道在Java中这相当于什么吗?

4 个答案:

答案 0 :(得分:4)

您可以在Java中使用Long.parseUnsignedLong来获得相同的结果。

long result = Long.parseUnsignedLong("B62FD56EFD5B375D", 16);

答案 1 :(得分:1)

对于长值,最大值为9,223,372,036,854,775,807(含)。解析值B62FD56EFD5B375D时,它是13,127,946,111,482,018,682,无法保存长值。

因此,请改用BigInteger。

答案 2 :(得分:1)

long dec1 = new BigInteger("B62FD56EFD5B375D", 16).longValue();

答案 3 :(得分:0)

您可以尝试使用BigInteger

BigInteger value = new BigInteger(hex, 16);