极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12133|回复: 3

char* 怎么转成float啊

[复制链接]
发表于 2016-12-8 09:28:47 | 显示全部楼层 |阅读模式
我用atof转出来后只有2位小数啊,精度不够

char *c = "0.16794";
float e;
e = atof(c);
Serial.print(e);

转后成了 0.17了,又四舍五入,又只有2位
回复

使用道具 举报

发表于 2016-12-8 21:15:41 | 显示全部楼层
看手册:http://wiki.geek-workshop.com/do ... erence:serial_print

也可以自己定义输出为几进制(格式);可以是BIN(二进制,或以2为基数),OCT(八进制,或以8为基数),DEC(十进制,或以10为基数),HEX(十六进制,或以16为基数)。对于浮点型数字,可以指定输出的小数数位。例如

Serial.print(78,BIN)输出为“1001110”
Serial.print(78,OCT)输出为“116”
Serial.print(78,DEC)输出为“78”
Serial.print(78,HEX)输出为“4E”
Serial.println(1.23456,0)输出为“1”
Serial.println(1.23456,2)输出为“1.23”
Serial.println(1.23456,4)输出为“1.2346”
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-12-8 22:39:54 | 显示全部楼层
ofourme 发表于 2016-12-8 21:15
看手册:http://wiki.geek-workshop.com/doku.php?id=arduino:arduino_language_reference:serial_print

...

我不是指输出啊,我是内部数据要用,能这样吗
回复 支持 反对

使用道具 举报

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

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-20 05:15 , Processed in 0.036845 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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