double ambientTemp=44.00;
String yourdatacolumn="yourdata=";
String yourdata;
double yourarduinodata=ambientTemp;
yourdata = yourdatacolumn + yourarduinodata;
//我希望输出为字符串。但因为yourarduinodata是双重类型。无法将其转换为字符串。然后,我把(String)放在yourarduinodata面前,仍然没有让我跑过去。
任何人都知道在arduino sketch中将double类型转换为字符串类型;
答案 0 :(得分:9)
将Double转换为字符串的另一种方法:
char TempString[10]; // Hold The Convert Data
dtostrf(ambientTemp,2,2,TempString);
// dtostrf( [doubleVar] , [sizeBeforePoint] , [sizeAfterPoint] , [WhereToStoreIt] )
YourArduinoData = String(TempString); // cast it to string from char
答案 1 :(得分:6)
使用 - String(val, decimalPlaces)
例如,
double a = 10.2010;
String SerialData="";
SerialData = String(a,4);
Serial.println(SerialData);
答案 2 :(得分:2)
这样的事可能有用:
String double2string(double n, int ndec) {
String r = "";
int v = n;
r += v; // whole number part
r += '.'; // decimal point
int i;
for (i=0;i<ndec;i++) {
// iterate through each decimal digit for 0..ndec
n -= v;
n *= 10;
v = n;
r += v;
}
return r;
}