c# 中,有没有办法让数组在textbox中显示的数字保留为16进制,不转换为10进制.
部分代码:byte[]a=newbyte[]{0xaa,0x01,0x00,0x01,0x55};for(inti=0;i<a.5;i++){textBox3.Text+...
部分代码:
byte[] a = new byte[] { 0xaa,0x01, 0x00,0x01,0x55};
for (int i = 0; i <a.5; i++)
{
textBox3.Text += a[i]+" ";
}
结果:textBox3.Text="17010185"
期望结果:textBox3.Text="0xaa 0x01 0x00 0x01 0x55" 展开
byte[] a = new byte[] { 0xaa,0x01, 0x00,0x01,0x55};
for (int i = 0; i <a.5; i++)
{
textBox3.Text += a[i]+" ";
}
结果:textBox3.Text="17010185"
期望结果:textBox3.Text="0xaa 0x01 0x00 0x01 0x55" 展开
6个回答
展开全部
学到不少东西,代码应该如下可实现:
byte[] a = new byte[] {0xaa,0x01,0x00,0x01,0x55};
textBox1.Text = "";
for (int i = 0; i < a.Length; i++)
textBox1.Text += "0x" + a[i].ToString("x2") + " ";
其实这个问题自己写一个函数将10进制数转换成16进制形式的字符串即可。很简单的。
byte[] a = new byte[] {0xaa,0x01,0x00,0x01,0x55};
textBox1.Text = "";
for (int i = 0; i < a.Length; i++)
textBox1.Text += "0x" + a[i].ToString("x2") + " ";
其实这个问题自己写一个函数将10进制数转换成16进制形式的字符串即可。很简单的。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
textBox3.Text +="0x"+ a[i].ToString("X2") + " ";只要这样写就是把a里面的二进制转化为十六进制了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个我具体没做过,但是给你个思路吧。一、你可以在获取值之前强转为16进制。二、不知道你直接获取为String类型,对你程序是否有影响。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
textBox3.Text += a[i]+" ";
改成
textBox3.Text += "0x" + a[i].ToString("x") + " ";
改成
textBox3.Text += "0x" + a[i].ToString("x") + " ";
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
textBox3.Text += a[i]+" "; 改成
textBox3.Text +=" 0x"+ a[i].ToString("x2");
还有 i <a.5是什么东东,应该是i < a.Length吧
textBox3.Text +=" 0x"+ a[i].ToString("x2");
还有 i <a.5是什么东东,应该是i < a.Length吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询