[英]Convert hexadecimal number to long integer
我试图将十六进制数转换为十进制数,但它不适用于非常大的值(十进制超过2,147,483,647),因为int类型在那里有限。
这是我的代码,适用于整数
String nombreHexa = h2d.getText().toString();
if (isHex(nombreHexa) == true) {
int deciInt = Integer.parseInt(nombreHexa, 16);
String newDeci = String.valueOf(deciInt);
resulth2d.setText(newDeci);
}
我试着做了long
但不是那么简单。 问题似乎来自parseInt函数(parseLong也不存在)
有人知道我应该怎么做吗?
正如这个答案所示 ,使用Long.decode(str)
:
将字符串解码为长整型。 接受十进制,十六进制和八进制数。
如果您需要大于Long.MAX_VALUE
,则应该使用BigInteger 。
Whta与Long.parseLong(String num, int radix)
吗?
String nombreHexa = h2d.getText().toString();
if (isHex(nombreHexa) == true) {
long deciLong = Long.parseLong(nombreHexa, 16);
String newDeci = String.valueOf(deciLong);
resulth2d.setText(newDeci);
}
parseLong也存在。 只要它只是一个尺寸问题,你就可以使用它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.