问题描述
出于某种原因,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