int receive[100];
从串口得到的数据存储在receive中,格式是ascii编码的(MMM.M NNN.N PPP.P QQQ RR.R S.SS TT.T b7b6b5b4b3b2b1b0<cr>;这里MMM.M , NNN.N等代表了一些物理量。
具体说明:假如要上传的数据mmm.m值是123.4的话,我们在receive中得到的内容是对应的ascii编码的8182837884。
因此在得到一个re时,我想要把ascii编码的8182837884值转换为十进制的123.4然后赋值给m_1;后面的也是这么处理。
求问如何编。谢谢了。

解决方案 »

  1.   

    有2个问题不懂.1) 收到的数字  123.4  为什么编码是 8182837884 呢?
       1 的 ascii 码是 49(十进制) 31(16进制) ,
       . 的 ascii 码是 46(十进制)  2E(十六进制) , 
      请问你是怎么编码的呢?2) 假如 123.4 是得到的数字, 但既然有小数点, 就不应该储存在 int 中.
       int 只是整形,不能储存小数点部分. 应该改为 double 或 float 吧?
      

  2.   

    先用一个CString类型对像按receive【】格式化。然后两个两个的读出,接着转化成10进制并保存到另一个CString对像中去。