Go Down

Topic: convertire un intero in una stringa ... (Read 3 times) previous topic - next topic

Paolo S

#5
Jan 22, 2013, 02:36 pm Last Edit: Jan 22, 2013, 02:37 pm by Paolo S Reason: 1
Grazie... ho fatto così e funzione:

definito
int intPIN = 123;  // il pin in formato numerico int
char bufferPIN[6];
String keyPIN;


e nella funzione
keyPIN = itoa(intPIN, bufferPIN, 10));

e funziona bene.... senza dover modificare nulla del codice già esistente e funzionante...
ho capito che ha bisogno del buffer, anche se solo in modo temporaneo.... ma và bene così...


adesso ho questo problema, vorrei aggiungere degli zero quando la lunghezza della stringa è inferiore a 5 elementi...
cioè
il PIN potrà essere
65535 e convertito in stringa sara "65535".. ovvero se il PIN (impostato nella EEpROM) fosse, per esempio, 123... la conversione dovrà rendere "00123" .. quindi sempre composto da almeno 5 char...

pensavo di leggere la lunghezza della stringa e poi non mi è ben chiario come "concatenare", uno, due o tre zeri davanti....

come mi suggerite di fare per aggiungere qualche zero all'inizio della stringa???

grazie


pablos

Ma scrivere String A=(String)numeroInt; non va?
no comment

tuxduino

Posto che il tempo di esecuzione non sia un problema, potresti usare:

Code: [Select]
sprintf(buf, "%05d", numero);

Paolo S


Ma scrivere String A=(String)numeroInt; non va?

Non saprei Pablos... non l'ho provato.. stasera provo, anche se, a questo punto, non è più importante visto che la ìconversoine la faccio!!! ... non ho problemi di tempo.. in quanto è una funzoine che viene richiamata una volta ogni qualche settimana .....


Posto che il tempo di esecuzione non sia un problema, potresti usare:
Code: [Select]
sprintf(buf, "%05d", numero);


... anche per questo.. stasera provo... ma anche se non funzoinasse nessun problema ... ma cosè quel %05d????

grazie comunque.... ma non mi avete suggerito come anteporre alcuni zeri alla stringa originata ...

gli zeri dovrebbero essere in numero pari a 6 - keyPIN.length()



tuxduino

Quote
ma cosè quel %05d????


Ma solo a me viene in mente di cercare su google ?

Go Up