Java 将字符串转换为十六进制字符串

Java 将字符串转换为十六进制字符串,java,hex,Java,Hex,我有一个int值的字符串,如“131008130225002”,我需要将其转换为十六进制字符串。我试过各种方法 toHex函数的输出是3133313030383133303235303032,但我有 不需要它 我需要在十六进制格式使用ABC多达12位 我尝试了Integer.tohex,但它超出了Integer的范围 如果是Double.tohex,则给出0x1.dc9ad4424da8p46 我的朋友在ios中做同样的工作,使用无符号long-long作为数据类型,并使用0x%02llx正则表

我有一个int值的字符串,如“131008130225002”,我需要将其转换为十六进制字符串。我试过各种方法

  • toHex函数的输出是3133313030383133303235303032,但我有 不需要它
  • 我需要在十六进制格式使用ABC多达12位

  • 我尝试了Integer.tohex,但它超出了Integer的范围

  • 如果是Double.tohex,则给出0x1.dc9ad4424da8p46
  • 我的朋友在ios中做同样的工作,使用无符号long-long作为数据类型,并使用0x%02llx正则表达式转换nsstring

    代码是:

    String x="131008130225002"; 
    System.out.println(x);
        // System.out.println(Integer.parseInt(x));
         System.out.println(Double.parseDouble(x));
         System.out.println(Double.toHexString(Double.parseDouble(x)));
         String a1= toHex(x);
         System.out.println(a1);
    
    toHex函数:

    static String toHex(String arg) {
        try {
            return String.format("%12x", new BigInteger(1, arg.getBytes("UTF-8")));
        } catch (UnsupportedEncodingException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return null;
    }
    

    输出为7726b510936a。

    它将适合
    ,因此您可以使用
    长.toHexString

    System.out.println(Long.toHexString(Long.parseLong("131008130225002")));
    
    对于更通用的解决方案,
    biginger
    也有一个以基数为单位的函数(16当然是十六进制)


    上面两个打印出来的
    7726b510936a

    不清楚您想做什么。字符串是要转换为十六进制的十进制数吗?或者是一个十进制数字序列,您想将其中的每一个单独转换为十六进制?显示输入的预期输出。它是从不同位置检索到的小数的组合,现在我想将其转换为十六进制并作为parameter@HimanshR发布你想从转换中看到的准确结果一个准确的结果显示超过1000个单词,请发布…@Hitmansh你没有让它更清楚。显示您希望通过输入获得的确切结果。对不起,我无法解释,感谢您的努力,但下面的答案正是我需要的。
    System.out.println(Long.toHexString(Long.parseLong("131008130225002")));
    
    System.out.println(new BigInteger("131008130225002").toString(16));