将串口接收到的字符串转化为数值(包含小数)
2016-05-09 14:02
453 查看
串口接收到的一般都为字符串,常见的函数sscanf()只能转化整数型字符串,对于浮点型字符串则不行。
该函数实现将浮点型字符串转化为相应的数值(整数,浮点数据均可)
该函数实现将浮点型字符串转化为相应的数值(整数,浮点数据均可)
float SPRTODATA(u8 *p) //将字符串转化为数据(包含小数) { u16 i=0,j=0,t=0; double temp=0; for(i=0;i<LEN;i++) { if(p[i]=='.') //判断小数点存在的位置 { t=1; //小数点存在标志 j=i; //记下小数点存在的位置 } else { if(t) //如果在小数点后面 { temp=(double)(p[i]-'0')/pow(10,(i-j))+temp; //改为小数 } else //在小数点前面 { temp=(double)(p[i]-'0')+temp*10; } } } return temp; }
相关文章推荐
- 仿投哪网底部切换Button效果
- 有关epoll与select机制的剖析
- 2.2.第五个实验--使用数组实现从0到f的显示
- MySQL学习8:操作数据表(二)
- 第十五章 springboot + pojo默认值设置
- 简单选择排序
- Python基础(三)
- svn冲突
- 11.View的基础知识
- ShortJson关于JSON的思考
- ubuntu下安装程序的三种方法
- 如何定位BAD_ACCESS
- C++实验5—数组分离
- XMG Quartz2D 水印效果。非layer里面手动创建位图上下文,不是layer中drawRect系统自动创建上下文
- HDU 2047 折线分割平面(分割平面)
- c++无法解析的外部符号
- 自定义搜索功能
- Linux下MySQL的备份与还原
- 转发 win7+iis7.5+asp.net下 CS0016: 未能写入输出文件“c:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files 解决方案
- 支付宝微信支付需要注意的地方