Ciao a tutti, sto impazzendo con questo codice.. Vorrei aggiungere uno "'0" prima dei minuti se sono minori di 10, in modo da avere 01 e non 1 sull' lcd...
int minuti = rtc.getMinutes();
if (minuti<10){
char minuti2[5];
sprintf(minuti2, "0%d", minuti);
render_big_number(atoi(minuti2),9,0);
}
else{
render_big_number(minuti,9,0);
}
Tentativo 2:
int minuti = rtc.getMinutes();
String tmp = "";
if (minuti<10){
tmp = "0";
}
tmp += minuti;
render_big_number(Str2int(tmp),9,0);
Non capisco, perchè mai non funziona?!
Compila senza problemi ma alla fine lo "0" non c'è, forse non riesce a capire se è minore di 10? Sto usando a libreria di Leo ma dubito influisca... a meno che non mi abbia lanciato qualche sortilegio
Grazie mille!
if (minuti<10){
render_big_number(0,9,0);//printo prima lo 0
render_big_number(minuti,13,0);
}else{
render_big_number(minuti,9,0);
}
Soluzione non tanto pulita ma funziona... intanto che ci sono sulla formattazione ho un piccolo dubbio, usando sprintf le lettere che metto dopo ai "%" sono a mia discrezione? Cioè una cosa come sprintf(var, "Ciao %ambarabbaciccicoco", var2); funziona ugualmente o c'è un ordine logico?
La seguente tabella mostra i possibili formati dei caratteri per le
istruzioni printf/scanf:
Formato (%) Tipo Risultato
c char singolo carattere
i,d int numero decimale
o int numero ottale
x,X int numero esadecimale
(notazione maiuscola o minuscola)
u int intero senza segno
s char * stampa una stringa terminata con \0
f double/float formato -m.ddd...
e,E " formato scientifico
-1.23e002
g,G " "e" o "f" ma piu' compatti
% - stampa il carattere %
Tra il simbolo % ed il carattere di formato, e' possibile mettere:
(segno meno) - giustificazione a sinistra;
numero intero - ampiezza del campo
m.d - m=ampiezza del campo, d=precisione del numero
di cifre dopo il punto decimale, o numero di
caratteri da una stringa