【问题标题】:Convert Hex to Decimal and Decimal to TimeStamp in JAVA在 JAVA 中将十六进制转换为十进制和十进制转换为时间戳
【发布时间】:2015-03-12 07:37:52
【问题描述】:

我在将 16 位十六进制字符串解析为十进制整数值时遇到问题。

我尝试了以下代码将十六进制转换为十进制:

    String HexString= "0000113fc208dff"; 
    int dec= Long.parseLong(HexString);

但它的投掷NumberFormatException: Invalid int ...

现在我如何转换为十进制/二进制并进一步将十进制/二进制转换为时间戳?

任何帮助将不胜感激。

【问题讨论】:

  • 它仍然是int(或在本例中为long)。尝试将其解析为 long 并查看您的结果。
  • 我们已经尝试了很长时间也显示相同的异常
  • 我们不希望它在 ascii 中,我们试图仅解析为十进制

标签: java


【解决方案1】:

第一个参数是字符串,第二个参数是基数

long epoch=Long.parseLong(str, 16);

然后通过Calendar转换为Timestamp

Calendar c=Calendar.getInstance();
c.setTimeInMillis(epoch);

【讨论】:

    【解决方案2】:

    试试这个代码

    String HexString= "0000113fc208dff"; 
    long dec= Long.parseLong(HexString, 16);
    System.out.println(dec);
    

    结果:

    1185345998335  
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-06
      • 1970-01-01
      • 2011-07-28
      • 1970-01-01
      • 2018-09-04
      • 1970-01-01
      相关资源
      最近更新 更多