原文: 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);

顾名思义, 函数会将浮点型数转换为字符串类型.

Logo

一站式虚拟内容创作平台,激发创意,赋能创作,进入R空间,遇见同道,让优质作品闪耀发光。​

更多推荐