Yep!
%d
Il s'agit de formatage des données de sortie (printf). En l'occurence, %d pour décimale, %02d pour decimale à deux chiffres, %s pour un string, on peut aussi positionner un point pour les chiffres aprés la virgule : %.02d, etc.
Par contre,
itoa est certes moins pratique mais cependant moins gourmand que
sprintf.
Ecrit rapidement :
Version
itoa : 2436 bytes
int value[5] = {15, 125, 1325, 14325, 104325 };
char buff[12];
void setup() {
Serial.begin(19200);
delay(1000);
}
void loop() {
for (int i = 0; i < 5; i++) {
int taille = strlen(itoa(value[i], buff, 10));
char * data = itoa(value[i], buff, 10);
Serial.println(data);
for (int j = 0; j < taille; j++) {
Serial.println(data[j]);
delay(500);
}
Serial.println("Next number");
}
}
Version
sprintf : 3744 bytes
int value[5] = {15, 125, 1325, 14325, 104325 };
char buff[12];
void setup() {
Serial.begin(19200);
delay(1000);
}
void loop() {
for (int i = 0; i < 5; i++) {
sprintf(buff, "%d", value[i]);
for (int j = 0; j < 12; j++) {
Serial.println(buff[j]);
delay(500);
}
Serial.println("Next number");
}
}
EDIT1 :
http://www.arduino.cc/playground/Code/PrintingNumbers@+
Zoroastre.