2016-06-01 21 views
0

こんにちは私は2つの変数 timer1hh = 9 timer1mm = 7Arduinoの2つのint型の

私は文字列に変換し、それらを一緒に参加し、私は以下のコード使用して "97" を取得する必要があり参加:

String string1= String(timer1hh); 
String string2= String(timer1mm); 
String string3;   

string3=string1+string2;  
Serial.println(string3); 

これは問題ありませんが、その下に10がある場合は先頭に0を追加したいと考えています。

「0907」

ので、結局、私は「0907」の間の「場合」との事のこのタイプを行う「2034」と言う操作を行うことができるようにしたいです。 Imは "%02"を使ってsprintfと全く戸惑ってしまって、単に私のために働いていません。

助けがあれば助かります。ピート

+0

ないソリューションが、それは数字を保持している2つの文字列を比較するよりも、2つの数値を比較することがはるかに簡単です。もし私があなただったら、私は文字列に変換するのではなく、真夜中から2回を数分に変換します。これにより、比較が簡単になります。つまり、9.07amは(9 * 60)+7、8.34pmは(20 * 60)+34となります。 "0907"と "2034"よりも547と1234の方が比較が簡単です - printfは "%02"を使用せず、 "%02d"を使用しています - %02d%02d "、t1h、t1m);' – enhzflep

答えて

0

は、このスケッチを参照してください。

void setup() { 

    int timer1hh = 9, timer1mm = 7; 

    Serial.begin(9600); 
    //String string1= String(timer1hh); 
    //String string2= String(timer1mm); 
    //String string3;   

    char out1[5]; 
    sprintf(out1,"%.2d%.2d", timer1hh,timer1mm ); 
    String string3(out1); 

    //string3=string1+string2;  
    Serial.println(string3); 
} 

void loop() {} 

シリアル出力:0907

関連する問題