2016-06-29 11 views
-3

値を送信してデータベースに値を挿入したいが、null値を取得する。浮動小数点値をURLに送信する方法、浮動小数点値を送信しているのにヌル値を取得する

float PHValue = Value/10; 
    float DOValue= 12.22; 
    gprsSerial.println("AT+HTTPPARA=\"URL\",\"http://itempurl.com/smartpond/AddTemprature?WaterTemperature=""+celsius+""&PHValue=""+PHValue+""&DOValue=""+DOValue+""&currentTime=06-30-2016\""); 
+0

Q.浮動小数点数と文字列を追加するとどうなりますか? A.コンパイラエラー! – stark

+0

imはコンパイルエラーになりません。私はデータベースにnull値を持っているので、データに行く代わりにその変数名に行く。二重引用符の問題.i動的パラメータを持つAPIが必要 –

+0

snprintfを使用して値を文字列に出力する(またはC++のやり方をする場合はstringstreamを使用する)。 – stark

答えて

0

あなたは、別途のようなprint()を使用して送信することができます

int n_decimals = 3; 
float PHValue = Value/10; 
float DOValue= 12.22; 

gprsSerial.print("AT+HTTPPARA=\"URL\",\"http://itempurl.com/smartpond/AddTemprature?WaterTemperature="); 
gprsSerial.print(celsius, n_decimals); 
gprsSerial.print("&PHValue="); 
gprsSerial.print(PHValue, n_decimals); 
gprsSerial.print("&DOValue="); 
gprsSerial.print(DOValue, n_decimals); 
gprsSerial.println("&currentTime=06-30-2016\""); 

n_decimalsを使用すると、印刷したい小数点以下の桁数を。

それとも@starkは、あなたのATコマンドを生成するためにsnprintfを使用することができ、コメントで述べているように:

char command[256]; 
float PHValue = Value/10; 
float DOValue= 12.22; 

snprintf(command, sizeof(command), "AT+HTTPPARA=\"URL\",\"" 
      "http://itempurl.com/smartpond/AddTemprature?" 
      "WaterTemperature=%f&PHValue=%f&DOValue=%f" 
      "&currentTime=06-30-2016\"", celsius, PHValue, DOValue); 
gprsSerial.println(command); 

注:私はあなたがURLの値は引用符の間に行きたいかどうかわからなかったので、私はそれらを残しました。

関連する問題