1. 程式人生 > >Arduino中資料型別轉換 float/double轉換為char 親測好使,dtostrf()函式

Arduino中資料型別轉換 float/double轉換為char 親測好使,dtostrf()函式

       如何輕鬆玩轉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()函式來實現對字串的拼接。