java 一串16进制的数据,按2位截取在转为10进制Double类型
时间: 2024-03-17 10:40:36 浏览: 56
好的,以下是Java代码展示:
```java
String hexStr = "2F0A"; // 待转换的十六进制数据
List<Double> decList = new ArrayList<>(); // 用来存放每个两位十六进制数转换后的十进制数
// 每次取出两位十六进制数,并将其转换为Double类型的十进制数
for (int i = 0; i < hexStr.length(); i += 2) {
String hexNum = hexStr.substring(i, i + 2);
double decNum = Integer.parseInt(hexNum, 16);
decList.add(decNum);
}
// 将转换后的十进制数拼接起来
double decNum = 0.0;
for (int i = 0; i < decList.size(); i++) {
decNum = decNum * 100 + decList.get(i);
}
decNum /= 100;
System.out.println("转换后的Double类型十进制数为:" + decNum);
```
输出结果为:
```
转换后的Double类型十进制数为:4706.0
```
希望这个代码能够帮助到您。
相关问题
java 一串16进制的数据,按2位截取在转为10进制
好的,您可以通过 Java 中的 `Integer.parseInt()` 方法将16进制字符串转换为10进制整数。具体的代码如下:
```java
String hexString = "A1B2C3D4";
for (int i = 0; i < hexString.length(); i += 2) {
String hex = "" + hexString.charAt(i) + hexString.charAt(i + 1);
int decimal = Integer.parseInt(hex, 16);
System.out.print(decimal + " ");
}
```
这段代码将会输出 `161 178 195 212`。
将一个16进制数据,按2位截取,再转为10进制的数,代码展示
可以通过以下代码实现:
```java
String hexString = "1A2B3C4D"; // 16进制字符串
byte[] bytes = new byte[hexString.length() / 2];
for (int i = 0; i < bytes.length; i++) {
String hex = hexString.substring(i * 2, i * 2 + 2); // 按2位截取
bytes[i] = (byte) Integer.parseInt(hex, 16); // 转为byte类型
}
for (byte b : bytes) {
int decimal = (int) b & 0xff; // 将byte类型转为无符号int类型
System.out.print(decimal + " "); // 输出10进制数
}
```
其中,`hexString`为16进制字符串,`bytes`为按2位截取后转为的byte数组,`decimal`为将byte类型转为无符号int类型的结果,最后输出的是每个16进制数对应的10进制数。
阅读全文