📅  最后修改于: 2020-10-01 08:53:48             🧑  作者: Mango
我们可以使用Integer.parseInt()方法或自定义逻辑在Java中将十六进制转换为十进制。
Integer.parseInt()方法将字符串转换为具有给定redix的int。 parseInt()方法的签名如下:
public static int parseInt(String s,int redix)
让我们看一下在Java中将十六进制转换为十进制的简单示例。
public class HexToDecimalExample1{
public static void main(String args[]){
String hex="a";
int decimal=Integer.parseInt(hex,16);
System.out.println(decimal);
}}
输出:
10
让我们看看Integer.parseInt()方法的另一个示例。
public class HexToDecimalExample2{
public static void main(String args[]){
System.out.println(Integer.parseInt("a",16));
System.out.println(Integer.parseInt("f",16));
System.out.println(Integer.parseInt("121",16));
}}
输出:
10
15
289
我们可以使用自定义逻辑在Java中将十六进制转换为十进制。
public class HexToDecimalExample3{
public static int getDecimal(String hex){
String digits = "0123456789ABCDEF";
hex = hex.toUpperCase();
int val = 0;
for (int i = 0; i < hex.length(); i++)
{
char c = hex.charAt(i);
int d = digits.indexOf(c);
val = 16*val + d;
}
return val;
}
public static void main(String args[]){
System.out.println("Decimal of a is: "+getDecimal("a"));
System.out.println("Decimal of f is: "+getDecimal("f"));
System.out.println("Decimal of 121 is: "+getDecimal("121"));
}}
输出:
Decimal of a is: 10
Decimal of f is: 15
Decimal of 121 is: 289