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

问题描述 投票:3回答:3
double ambientTemp=44.00;
String yourdatacolumn="yourdata=";
String yourdata; 
double yourarduinodata=ambientTemp; 
yourdata = yourdatacolumn + yourarduinodata; 

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

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

string arduino double
3个回答
9
投票

另一种将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 

6
投票

使用 - String(val, decimalPlaces)

例,

double a = 10.2010;

String SerialData="";

SerialData = String(a,4);

Serial.println(SerialData);

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;
}
© www.soinside.com 2019 - 2024. All rights reserved.