hm184092 发表于 2014-7-27 20:40:24

字符串转化成浮点型?

如何把串口接收的字符串数字转化成浮点型?

pathletboy 发表于 2014-7-27 20:53:27

atof("1.3")

i7456 发表于 2014-7-27 21:13:41

把收到的每个字符,转换为数值;
把第一的数值乘10,加上第二位,记录这个值
把前面的值乘10,在加上第三位的值,
一直这么加,直到出现小数点
小数点后面第一位数值除10,加到里面去
小数点后面第二位数值除100,加到里面去
一直这么处理,直到字符串结束

拾瑞 发表于 2014-7-28 08:51:01

发放方按浮点格式将每个浮点转用四个字节,接收方在收到后无需转换,直接内存COPY将接收到的四字节强制转换为浮点......(不算太懂格式转换,但经过试验,发送和接收都只需要memcpy这个函数就行了......

Ansifa 发表于 2014-7-28 15:13:41

亲自试了一下atof可以用
void setup()
{
Serial.begin(9600);
}

void loop() {

char *b = "3.1415926";
float a;
a = atof(b);
Serial.println(a);
delay(200);
}

hm184092 发表于 2014-7-29 16:01:27

Ansifa 发表于 2014-7-28 15:13 static/image/common/back.gif
亲自试了一下atof可以用
void setup()
{


非常感谢!:victory:
页: [1]
查看完整版本: 字符串转化成浮点型?