原文: http://dereenigne.org/arduino/arduino-float-to-string
如果你曾经在Arduino上试图用sprintf()来将浮点数转换为字符串是没有效果的.
sprintf(buf, "%f", floatvar);
上面的函数可能返回"?"这样的东西.
在Google上有很多人写的函数来实现这个功能, 但是几乎都有些不完整. 用标准avr-libc库提供的函数dtostrf()来替代上面提到的函数. 这是一个简单又经过测试的函数.
只需将sprintf()替换为dtostrf(), 并填好里面的参数即可.
dtostrf(floatVar, minStringWidthIncDecimalPoint, numVarsAfterDecimal, charBuf);
顾名思义, 函数会将浮点型数转换为字符串类型.