繁体   English   中英

将十六进制数转换为长整数

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM