【发布时间】:2018-10-05 06:15:39
【问题描述】:
用户在文本框中输入频率,我将其读取为字符串。 然后将频率转换为其十六进制等效值。 现在我想读取 freqhex 的最后两个元素并将它们连接起来并存储为字节。 例如。如果用户输入频率 282.000 MHz。 FreqHex 将存储 00044D90。我想读取“90”并存储为字节。 SS_Buf[15] 应该将 90 存储为字节。
string frequency = freq_box.Text;
byte[] SS_Buf = new byte[117];
string FreqHex = Convert.ToString(int.Parse(frequency), 16);
SS_Buf[15] = byte (FreqHex[6]+FreqHex[7]); // trying to store as byte, it's not correct
你好,其实完整的代码是这样的:
string frequency = freq_box.Text;
string[] strArr = null;
strArr = frequency.Split('.');
string FreqHex = Convert.ToString(int.Parse(strArr[0]+strArr[1]), 16);
while(FreqHex.Length<8)
{
FreqHex = "0"+FreqHex;
}
SS_Buf[15] = (字节)(FreqHex[6]+FreqHex[7]);
用户会像这样输入freq xxx.xxx 我想使用 xxxxxx 转换为十六进制。如果位数小于 8,我会在前面附加 0。 这就像十六进制签名的第二个恭维。 所以,我在想是否可以使用 'FreqHex' 而不是 'frequency' 在 SS_Buf[15] 中存储值 .如果十六进制值为 00044D90: SS_Buf[15] 应该是 90,SS_Buf[14] 应该是 4D,SS_Buf[13] 应该是 04, SS_Buf[12] 应该是 00
【问题讨论】:
标签: c#