首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

winform串口怎么接收float数据

2012-12-22 
winform串口如何接收float数据问题如标题,并可以转换成string型[最优解释]定义float类型变量接受就是了啊。

winform串口如何接收float数据
问题如标题,并可以转换成string型
[最优解释]
定义float类型变量接受就是了啊。
[其他解释]

发送方:
float myData=1.2345F;
serialPort1.Write(myData.ToString());
接收方:
string str=serialPort.ReadExisting();
float myFloat=Convert.ToSingle(str);
[其他解释]
BitConverter.GetBytes
[其他解释]
有一种做法是在通信中只传送数字,没有小数点,但是在协议中约定了第几位之后就是小数点后面的数字。
比如:
一次接收数据长度是14位,12345678901234,你约定了小数位是第9位,那你的数据就是12345678.901234
这样就比较方便了
[其他解释]
我现在接收的是一个字符串"F39.6258Z"
请问我如何把这个字符串拆分成一个字符串数组str={‘F’,"39.6258","Z"};?

引用:
定义float类型变量接受就是了啊。

[其他解释]
引用:
我现在接收的是一个字符串"F39.6258Z"
请问我如何把这个字符串拆分成一个字符串数组str={‘F’,"39.6258","Z"};?

引用:定义float类型变量接受就是了啊。


这个值会变动吗?你可用正则匹配
[其他解释]
如果变化可以用词法分析器
[其他解释]
string[] strs = str.Split(new char[2] { 'F', 'Z' }, StringSplitOptions.RemoveEmptyEntries);
                    float f = float.Parse(strs[0]);

我用string里的Split做了一个分离,分离出来的值就是我要的float数据;
在做分离之前可以先用startwith和endwith判断首尾字母是否为F和Z。
谢谢大家的解答

热点排行