如何将十六进制转换为以十进制打印时看起来相同的数字?

时间:2014-02-12 15:59:42

标签: java hex decimal

我在Java中有以下代码:

int hex = 0x63;

63 16 的十进制值等于99 10 。我想将此十六进制值转换为等于63 10 的小数。

3 个答案:

答案 0 :(得分:3)

  

十六进制值为0x63,我想根据十六进制值将小数值设为63

这称为Binary-coded decimal (BCD)表示。将数字从BCD转换为十进制的方法有很多种。也许最简单的方法是将其打印为十六进制,然后将其解析为十进制:

int hex = 0x63;
int dec = Integer.valueOf(Integer.toHexString(hex), 10);

Demo on ideone.

答案 1 :(得分:0)

你可以用这个:

int hex = 0x63;
int decimalValue = Integer.parseInt(hex+"", 10);
System.out.println("Decimal value is :" + decimalValue);

答案 2 :(得分:0)

试试这个:

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]+"":"");