Yan*_*ang 4 string double arduino
double ambientTemp=44.00;
String yourdatacolumn="yourdata=";
String yourdata;
double yourarduinodata=ambientTemp;
yourdata = yourdatacolumn + yourarduinodata;
Run Code Online (Sandbox Code Playgroud)
//我希望输出为字符串.但因为yourarduinodata是双重类型.无法将其转换为字符串.然后,我把(String)放在yourarduinodata面前,仍然不让我跑过去.
任何人都知道在arduino sketch中将double类型转换为字符串类型;
小智 10
另一种将Double转换为String的方法:
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
Run Code Online (Sandbox Code Playgroud)
小智 8
使用 - String(val, decimalPlaces)
例,
double a = 10.2010;
String SerialData="";
SerialData = String(a,4);
Serial.println(SerialData);
Run Code Online (Sandbox Code Playgroud)
像这样的事情可能会起作用:
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;
}
Run Code Online (Sandbox Code Playgroud)