我想将作为字符串传入的UUID转换为大整数,但每次都会出现数字格式异常,因为它需要以字符串十进制形式作为参数。有什么方法可以实现这一点。
String x = "6CFAFD0DA976088FE05400144FFB4B37";
我也试过使用基数,但输出结果不同。
BigInteger big = new BigInteger(x, 0);
System.out.println(big);
任何帮助都会受到欢迎,谢谢!
我想将作为字符串传入的UUID转换为大整数,但每次都会出现数字格式异常,因为它需要以字符串十进制形式作为参数。有什么方法可以实现这一点。
String x = "6CFAFD0DA976088FE05400144FFB4B37";
我也试过使用基数,但输出结果不同。
BigInteger big = new BigInteger(x, 0);
System.out.println(big);
任何帮助都会受到欢迎,谢谢!
由于您的字符串包含数字和 A-F 的字母数字值,因此应该使用 基数 16,将基数值设置为 16,因为您的字符串是十六进制的。
String x = "6CFAFD0DA976088FE05400144FFB4B37";
BigInteger big = new BigInteger(x, 16);
System.out.println(big);
输出
144859830291446118078300087367740640055
您需要将radix
值设置为16。
对于十六进制字符串,您需要将基数值定义为16
。
BigInteger
而不是java.util.UUID
。 - Henry