Java 16进制字符串转10进制
# N进制转换成10进制
public static void main(String[] args) {
System.out.println("long型转换:"+Long.parseLong("100",16));//16进制字符串转换为long类型的10进制数
System.out.println("long型转换:"+Long.parseLong("100",8));//8进制字符串转换为long类型的10进制数
System.out.println("long型转换:"+Long.parseLong("100",2));//2进制字符串转换为long类型的10进制数
}
1
2
3
4
5
2
3
4
5
# 长整数16进制字符串转换成10进制
String hexString = "4063E84189374BC7"; // 16进制字符串
BigInteger decimalValue = new BigInteger(hexString, 16); // 转换为10进制BigInteger
System.out.println("The decimal value is: " + decimalValue);
1
2
3
2
3
# 16进制转换成浮点数
/**
* 十六进制单精度浮点数,转BigDecimal,保留2为小数
* @param hex
* @return
*/
public static BigDecimal hexFloat2BigDecimal(String hex) {
float value = Float.intBitsToFloat((int)Long.parseLong(hex, 16));
System.out.println(value);
BigDecimal bd = new BigDecimal(Float.toString(value));
return bd.setScale(2, BigDecimal.ROUND_DOWN);
}
/**
* 十六进制双精度浮点数,转BigDecimal,保留2为小数
* @param hex
* @return
*/
public static BigDecimal hexDouble2BigDecimal2(String hex) {
double value = Double.longBitsToDouble(Long.valueOf(hex,16).longValue());
System.out.println(value);
BigDecimal bd = BigDecimal.valueOf(value);
return bd.setScale(2, BigDecimal.ROUND_DOWN);
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
上次更新: 2024/06/14, 13:58:29
- 01
- 保姆级教程 用DeepSeek+飞书,批量写文案、写文章,太高效了06-06
- 03
- 熬夜做PPT?AI一键生成高逼格幻灯片,效率提升10倍!06-06