C#中如何从用户输入的十进制数值转换为十六进制?并存入byte[]
时间: 2024-11-03 12:13:30 浏览: 20
C# 进制转换的实现(二进制、十六进制、十进制互转)
5星 · 资源好评率100%
在C#中,你可以通过`BitConverter`类的`ToString`方法将十进制数转换为十六进制字符串,然后利用`Convert.ToByte`函数将其转换成字节数组。以下是步骤:
1. 首先获取用户的十进制输入,假设它存储在一个名为`decimalInput`的变量中。
```csharp
decimal decimalInput;
// 获取用户输入的十进制值
```
2. 使用`BitConverter.ToString`方法将十进制数转换为十六进制字符串:
```csharp
string hexString = BitConverter.ToString(BitConverter.GetBytes(decimalInput));
```
3. 将十六进制字符串分割成两个半部分,因为每个字节由两位十六进制组成,可以创建一个新的数组存储:
```csharp
string[] hexChars = hexString.Split('-');
byte[] byteArray = new byte[hexChars.Length / 2];
for (int i = 0; i < hexChars.Length / 2; i++)
{
int value = Convert.ToInt32(hexChars[i + 1], 16); // 去掉前导'-',并转换为整数
byteArray[i] = (byte)value;
}
```
4. 最后得到的`byteArray`就是你所需的字节数组。
阅读全文