微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将浮点数精确地转换为字符串? Arduino C++

如何解决如何将浮点数精确地转换为字符串? Arduino C++

我有一个类似 3.14159 的数字,我希望它是 3.1

出于某种原因,Arduino 对库很挑剔。目前我无法使用 string 库。

解决方法

我最终找到了一个很棒的解决方案。事实证明 Arduino 有一个方法!这只是 String() 方法。所以为了转换 3.14159 只需输入 ⤵︎

float num = 3.14159
String str1 = String(num,1) // 3.1
String str2 = String(num,2) // 3.14
String str3 = String(num,3) // 3.141

所以逗号右边是小数位参数。它有很多功能,但这是重载之一。你可以看到他们all here!

,

默认情况下,sprintf 不支持标准 Arduino 环境中的浮点数,因此 avr-gcc 提供了 dtostrf(),它可以满足您的需求。 Sample usage here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。