首页 文章

在java中转换.ToInt64等价物

提问于
浏览 659
1

我在c#中尝试以下代码,它给出了如下结果:

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

结果:-531879796222753398

我试图在java中这样做,但我总是得到 NumberFormatException ,因为String中有字母数字 . 我在java中编码的是:

Long.parseLong("B62FD56EFD5B375D", 16);

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

4 回答

  • 4

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

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

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

    所以改为使用BigInteger .

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

    你可以试试BigInteger

    BigInteger value = new BigInteger(hex, 16);
    

相关问题