#include<stdlib.h>
void setup() {
Serial.begin(115200);
char dataH[5];
char dataC[5];
char dataF[5];
float h = 56.00;
float c = 31.50;
float f = 88.70;
dtostrf(h,5,2,dataH);
dtostrf(c,5,2,dataC);
dtostrf(f,5,2,dataF);
Serial.println(dataH);
Serial.println(dataC);
Serial.println(dataF);
}
void loop() {
// put your main code here, to run repeatedly:
}
我期望这些是结果:
56.00
31.50
88.70
相反,这是我得到的:
blank
blank
88.70
前两行是空白的(我写的文本为空白,否则将被stackoverflow跳过。
解决方法:
您应该将字符数组声明为
char dataH[6];
char dataC[6];
char dataF[6];
这样他们就可以'\0'
在最后存储空间