OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3486|回复: 8

c#字符转换问题

[复制链接]

160

主题

967

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2097
金钱
2097
注册时间
2014-3-7
在线时间
491 小时
发表于 2016-7-5 09:15:24 | 显示全部楼层 |阅读模式
1金钱
您好!
       我在学习c#的时候遇到一个问题,我读取下拉列表框的值 niancomboBox1.Text,比如是2016,我想提取出16,然后以十六进制发送,此时发送到数据是ox10,应该怎么做呢?

下面是我的代码,处理的不成功,请高手指点!谢谢
            DqXutextBox1.Text = niancomboBox1.Text + yuecomboBox2.Text + picicomboBox3.Text + xuliecomboBox4.Text;
            Byte[] byteBuff;
            byte[] Data = new byte[10];
            Data[0] = 0xee;
            byteBuff = Encoding.ASCII.GetBytes(niancomboBox1.Text);
           
         
            Data[1] = byteBuff[2];
         
           // Data[1] = 0x10;
            Data[2] = 0x01;
            Data[3] = 0x01;
            Data[4] = 0x00;
            Data[5] = 0x36;
            Data[6] = 0xc8;
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

160

主题

967

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2097
金钱
2097
注册时间
2014-3-7
在线时间
491 小时
 楼主| 发表于 2016-7-5 10:08:35 | 显示全部楼层
yklstudent 发表于 2016-7-5 09:57
首先提前字符串,然后截取右边两个字符;
其次再转换成整形数不就可以了

可以直接上代码吗?理论是知道的,不知道用那几句代码。。。。
回复

使用道具 举报

160

主题

967

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2097
金钱
2097
注册时间
2014-3-7
在线时间
491 小时
 楼主| 发表于 2016-7-5 14:03:17 | 显示全部楼层
yklstudent 发表于 2016-7-5 12:57
string txtString = null;
            byte iNum = 0;

  byte[] Data = new byte[10];
            Data[0] = 0xee;
           // byteBuff = Encoding.ASCII.GetBytes(niancomboBox1.Text);
            txtString = niancomboBox1.Text.ToString();
            Data[1] = Convert.ToByte(txtString);

            txtString = yuecomboBox2.Text.ToString();
            Data[2] = Convert.ToByte(txtString);

            txtString = picicomboBox3.Text.ToString();
            Data[3] = Convert.ToByte(txtString);

            txtString = xuliecomboBox4.Text.ToString();
            txtString = txtString.Substring(0, 2);
            Data[4] = Convert.ToByte(txtString);


            txtString = xuliecomboBox4.Text.ToString();
            txtString = txtString.Substring(txtString.Length - 2, 2);
            Data[5] = Convert.ToByte(txtString);
         
          //  Data[6] = Data[0]^Data[1]^ Data[2]^ Data[3]^ Data[4]^ Data[5];
您好!我按照你说的方法装数据,最后校验的时候Data[6] = Data[0]^Data[1]^ Data[2]^ Data[3]^ Data[4]^ Data[5];这句报错,不知道是为什么
回复

使用道具 举报

160

主题

967

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2097
金钱
2097
注册时间
2014-3-7
在线时间
491 小时
 楼主| 发表于 2016-7-5 15:56:15 | 显示全部楼层
您好!我已经解决,我还想请教您一个问题,我想把xuliecomboBox4.Text的内容读出来然后给它加1,然后又赋值给xuliecomboBox4.Text,比如下拉列表框中是4567,点击一个按钮控件后,我想把它变成4568,应该用那几句代码实现呢????
回复

使用道具 举报

33

主题

984

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8024
金钱
8024
注册时间
2014-8-13
在线时间
1595 小时
发表于 2016-7-5 16:17:55 | 显示全部楼层
本帖最后由 mack13013 于 2016-7-5 16:19 编辑

为什么不先转成整形再取余呢?

c/c++在windows下的处理方法:


CString strText;
this ->GetDlgItemText(ID, strText);
BYTE cResult = ::_ttoi(strText)%100;



或者

CString strText;
EditCtrl ->GetWindowText(strText);
BYTE cResult = ::_ttoi(strText)%100;

回复

使用道具 举报

160

主题

967

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2097
金钱
2097
注册时间
2014-3-7
在线时间
491 小时
 楼主| 发表于 2016-7-5 16:21:47 | 显示全部楼层
本帖最后由 ssssssssssss 于 2016-7-5 16:23 编辑
mack13013 发表于 2016-7-5 16:17
为什么不先转成整形再取余呢?

c/c++在windows下的处理方法:

我用的是c#,。。。。。。如果用c#的话,用你的方式怎么实现呢?
回复

使用道具 举报

33

主题

984

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8024
金钱
8024
注册时间
2014-8-13
在线时间
1595 小时
发表于 2016-7-5 19:04:26 | 显示全部楼层
本帖最后由 mack13013 于 2016-7-5 19:25 编辑
ssssssssssss 发表于 2016-7-5 16:21
我用的是c#,。。。。。。如果用c#的话,用你的方式怎么实现呢?

先获取字符串,然后把字符串转化成整数,然后把整数除以100取余数,就是你要的数字了。

            int nCur;
            int.TryParse(niancomboBox1.Text, out nCur);
            Byte cCur = (Byte)(nCur % 100);

下面的方法也可以实现:

            Byte cCur = (Byte)( Convert.ToInt32(niancomboBox1.Text) % 100);

回复

使用道具 举报

33

主题

984

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8024
金钱
8024
注册时间
2014-8-13
在线时间
1595 小时
发表于 2016-7-5 19:30:10 | 显示全部楼层
本帖最后由 mack13013 于 2016-7-5 19:31 编辑
ssssssssssss 发表于 2016-7-5 15:56
您好!我已经解决,我还想请教您一个问题,我想把xuliecomboBox4.Text的内容读出来然后给它加1,然后又赋值 ...

            xuliecomboBox4.Text = (Convert.ToInt32(xuliecomboBox4.Text) + 1).ToString();


回复

使用道具 举报

160

主题

967

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2097
金钱
2097
注册时间
2014-3-7
在线时间
491 小时
 楼主| 发表于 2016-7-7 09:49:26 | 显示全部楼层
mack13013 发表于 2016-7-5 19:04
先获取字符串,然后把字符串转化成整数,然后把整数除以100取余数,就是你要的数字了。

            i ...

完美!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-10 13:41

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表