Arduino 数据类型转换
如何轻松玩转Arduino单片机,当我在进行数据转换的时候,遇到了问题,尝试了C语言和C++中的好多函数,都没有达到将float型数据转换为char型的目的。苦苦查阅资料后,终于找到了一个大神级函数!!!dtostrf(),可以轻松实现数据类型from float to char . get it
格式如下:
char* dtostrf(double _val,signed char _width, unsigned char prec, char* _s)
参数说明:
_val:要转换的float或者double值。
_width:转换后整数部分长度。
_prec:转换后小数部分长度。
_s:保存到该char数组中。
示例如下:
float f=3.1415; char c[]; dtostrf(f,1,2,c); Serial.println(c);
此时从Arduino自带串口监视器中将输出3.14,即成功实现了数据类型转换。
数据转换之后,我们可以对字符串进行一个拼接。如下,将实现字符串的拼接
float f=3.1415; char c[]; dtostrf(f,1,2,c); Serial.println(c); //定义一个字符串 char s[]="///sensor1///ly///sensor1///PM2.5///100.70///"; //进行字符串拼接操作 strcat(s,c); Serial.println(s);
此时将在Arduino自带串口监视器中将输出///sensor1///ly///sensor1///PM2.5///100.70///3.14,即成功实现了字符串的拼接。
特别说明:Arduino中可以直接调用C语言中的strcat()函数来实现对字符串的拼接。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!