c++ 的 string 類別相當好用,在字串處理上除了保有原 char [] 的運算外,
也可以使用 + 運算做字串連接,因此寫 c 的工程師常使用 string 做字串運算。
然而在 arduino 領域,常因為了傳輸,而必須將基本資料型態 int 、 float 、 double 轉型成 string。
下列是 arduino 常用的轉型運算。
關於 string 與 char [] 之轉型,可參考做我個人 cpp 教學網站:

http://163.32.98.15/teacher/benme/cpp/string2charCpp.html

在此特別提醒:在 c++ 裡字串宣告為 string,在 arduino 裡要宣告成 String (開頭要大寫,且不用 include)

另外,String 轉型內定小數兩位,若要增加位數可以寫成 String( 浮點數 , 小數位數) //會有四捨五入問題
範例:
double f = 27.41847;
String x;
x = String(f); //x 結果為 27.42 (四捨五入至小數第二位)
x = String(f,3); //x 結果為 27.418 (四捨五入至小數第三位)
x = String(f,4); //x 結果為 27.4185 (四捨五入至小數第四位)

int 轉 String float 轉 String double 轉 String
常數之轉型:
String x = String("375");

變數之轉型:
int a=83;
String x = String(a);
常數之轉型:
String x = String("20.745");

變數之轉型:
float a = 9.174;
String x = String(a);
常數之轉型:
String x = String("0.17856134");

變數之轉型:
double a=41.589291031;
String x = String(a);

String 轉 int String 轉 floatString 轉 double
String x="123";
int a = atoi( x.c_str() );

String x="67.19";
float a = atof( x.c_str() );

String x="20.647819242";
double a = atof( x.c_str() );