【问题标题】:convert double type into string type in arduino sketch在arduino草图中将double类型转换为字符串类型
【发布时间】:2013-11-08 19:39:03
【问题描述】:
double ambientTemp=44.00;
String yourdatacolumn="yourdata=";
String yourdata;
double yourarduinodata=ambientTemp;
yourdata = yourdatacolumn + yourarduinodata;
//我希望输出是字符串。但由于您的arduinodata 是双重类型。无法将其转换为字符串。然后,我把(String)放在你的arduinodata前面,还是不让我跑过去。
任何人都知道如何在 arduino 草图中将双精度类型转换为字符串类型;
【问题讨论】:
标签:
string
arduino
double
【解决方案1】:
另一种将双精度转换为字符串的方法:
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
【解决方案2】:
使用 - String(val, decimalPlaces)
例子,
double a = 10.2010;
String SerialData="";
SerialData = String(a,4);
Serial.println(SerialData);
【解决方案3】:
这样的事情可能会奏效:
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;
}