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
-
解决controller层注入的service为null08-07
- 02
-
SpringBoot数据加解密08-05