Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中如何将大字符串转换为整数?_Java_String_Hex_Biginteger_Parseint - Fatal编程技术网

在java中如何将大字符串转换为整数?

在java中如何将大字符串转换为整数?,java,string,hex,biginteger,parseint,Java,String,Hex,Biginteger,Parseint,给定以下字符串: 3132333435363738396162636465666768696a6b6c6d6e6f70 我把字符串转换成十六进制,现在我想把它写成十六进制而不是字符串。我尝试将其转换为int,但是Integer.parseInt最多只能转换为4,如果超过这个值,它就会给出错误 Use,其中一个构造函数取基数 BigInteger value = new BigInteger(hexString, 16); 你试过这个吗 示例代码: import java.math.BigIn

给定以下字符串:

3132333435363738396162636465666768696a6b6c6d6e6f70
我把字符串转换成十六进制,现在我想把它写成十六进制而不是字符串。我尝试将其转换为int,但是
Integer.parseInt
最多只能转换为4,如果超过这个值,它就会给出错误

Use,其中一个构造函数取基数

BigInteger value = new BigInteger(hexString, 16);
你试过这个吗

示例代码:

import java.math.BigInteger;

public class Test {

    public static void main(String[] args) {
        String hex = "3132333435363738396162636465666768696a6b6c6d6e6f70";
        BigInteger number = new BigInteger(hex , 16);
        System.out.println(number); // As decimal...
    }
}
输出:

308808885829455478403317837970537433512288994552567292653424
尝试:


这和swing有什么关系?我需要按原样写它。@user2090151:我不知道你的意思。这是一个数字——没有“原样”这样的东西。你需要以某种方式来表示它——用一个十进制数字或其他什么。你问过如何将其解析为一个数字——我已经向你展示了如何做到这一点。如果您只想将十六进制字符串解析为字节数组,那完全是另一回事,您应该从这个问题开始。(不要问新问题-堆栈溢出有很多十六进制解析问题。)
308808885829455478403317837970537433512288994552567292653424
new BigInteger("3132333435363738396162636465666768696a6b6c6d6e6f70", 16)