在arduino sketch中将double类型转换为字符串类型

时间:2013-11-08 19:39:04

标签: string arduino double

double ambientTemp=44.00;
String yourdatacolumn="yourdata=";
String yourdata; 
double yourarduinodata=ambientTemp; 
yourdata = yourdatacolumn + yourarduinodata; 

//我希望输出为字符串。但因为yourarduinodata是双重类型。无法将其转换为字符串。然后,我把(String)放在yourarduinodata面前,仍然没有让我跑过去。

任何人都知道在arduino sketch中将double类型转换为字符串类型;

3 个答案:

答案 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;
}