【发布时间】:2014-02-12 15:59:42
【问题描述】:
我在 Java 中有以下代码:
int hex = 0x63;
6316的十进制值等于9910。我想将此十六进制值转换为等于 6310 的十进制值。
【问题讨论】:
-
不,十六进制值是 0x63,我想根据十六进制值得到一个十进制值 63
-
如果你有 0x1F 怎么办?
-
现在只考虑数字
我在 Java 中有以下代码:
int hex = 0x63;
6316的十进制值等于9910。我想将此十六进制值转换为等于 6310 的十进制值。
【问题讨论】:
十六进制值是
0x63,我想根据十六进制值得到一个十进制值63
这称为Binary-coded decimal (BCD) 表示。有很多方法可以将数字从 BCD 转换为十进制。也许最简单的方法是将其打印为十六进制,然后将其解析为十进制:
int hex = 0x63;
int dec = Integer.valueOf(Integer.toHexString(hex), 10);
【讨论】:
你可以用这个:
int hex = 0x63;
int decimalValue = Integer.parseInt(hex+"", 10);
System.out.println("Decimal value is :" + decimalValue);
【讨论】:
试试这个:
int hex = 0x63F2FC;//just an example (containg letters)
String hexStr = Integer.toHexString(hex);
String decimal = "";
char[] tmp = hexStr.toCharArray();
for (int i = 0; i < tmp.length ; i++)
decimal += (Character.isDigit(tmp[i])?tmp[i]+"":"");
【讨论】: