极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 20191|回复: 5

字符串转化成浮点型?

[复制链接]
发表于 2014-7-27 20:40:24 | 显示全部楼层 |阅读模式
如何把串口接收的字符串数字转化成浮点型?
回复

使用道具 举报

发表于 2014-7-27 20:53:27 | 显示全部楼层
atof("1.3")
回复 支持 反对

使用道具 举报

发表于 2014-7-27 21:13:41 | 显示全部楼层
把收到的每个字符,转换为数值;
把第一的数值乘10,加上第二位,记录这个值
把前面的值乘10,在加上第三位的值,
一直这么加,直到出现小数点
小数点后面第一位数值除10,加到里面去
小数点后面第二位数值除100,加到里面去
一直这么处理,直到字符串结束
回复 支持 反对

使用道具 举报

发表于 2014-7-28 08:51:01 | 显示全部楼层
发放方按浮点格式将每个浮点转用四个字节,接收方在收到后无需转换,直接内存COPY将接收到的四字节强制转换为浮点......(不算太懂格式转换,但经过试验,发送和接收都只需要memcpy这个函数就行了......
回复 支持 反对

使用道具 举报

发表于 2014-7-28 15:13:41 | 显示全部楼层
亲自试了一下atof可以用

  1. void setup()
  2. {
  3.   Serial.begin(9600);
  4. }

  5. void loop() {

  6.   char *b = "3.1415926";
  7.   float a;
  8.   a = atof(b);
  9.   Serial.println(a);
  10.   delay(200);
  11. }
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-7-29 16:01:27 | 显示全部楼层
Ansifa 发表于 2014-7-28 15:13
亲自试了一下atof可以用
void setup()
{

非常感谢!
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-7 22:18 , Processed in 0.032920 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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