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

//出力を文字列にしたい。しかし、あなたのarduinoのデータはdouble型です。文字列に変換できません。次に、(String) を yourarduinodata の前に置きましたが、まだ実行できません。

arduino スケッチで double 型を string 型に変換することについて、誰もが考えを持っています。

4

3 に答える 3

11

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 
于 2013-11-08T21:27:15.303 に答える
10

使用する -String(val, decimalPlaces)

例、

double a = 10.2010;

String SerialData="";

SerialData = String(a,4);

Serial.println(SerialData);
于 2016-06-03T06:31:49.757 に答える
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;
}
于 2013-11-08T19:42:13.780 に答える