View Full Version : [java] Passaggio da int a String
carter100
21-07-2007, 11:49
Ciao a tutti, ho una domanda che per molti di voi sarà banale ma io non so esattamente come fare; ho un intero da caricare in una stringa, il cast con
int numero=2;
String s=(String)numero;
ovviamente non funziona, so che esiste la funzione per fare il contrario (parseInt) cioè per passare una stringa in un intero, ma per questo problema come posso fare?Esiste qualche funzione particolare?Grazie a chiunque vorrà rispondermi
non so se esiste una funzione apposita, ma io me la sono scritta da solo
public static String itoa(int num) {
int[] cifre = new int[100];
int next = 0;
int currNumVal = 0;
String ret = "";
while(num != 0) {
currNumVal = 0;
while(num%10 > 0) {
num--;
currNumVal++;
}
if(num != 0) num /= 10;
cifre[next] = currNumVal + 48;
next++;
}
for(int i = 0; i < next; i++) {
ret = (char)cifre[i] + ret;
}
return ret;
}
Integer.toString(int);
Integer.toString(int,int); il secondo parametro indica il sistema numerico, binario (2), decimale (10), etc.
C'è anche String.valueOf(int). Hey, ce ne sono un sacco! :D.
carter100
21-07-2007, 12:51
Bè ragazzi, che vi posso dire?Gentilissimi come sempre, ho usato la prima funzione di pisto, vi ringrazio moltissimo, buon fine settimana ;)
C'è anche String.valueOf(int). Hey, ce ne sono un sacco! :D.
:ops2:
A parte il nome (itoa... ARRRRGH!) anche la funzione di AngeL) è ok. Chi pensa che reinventare la ruota sia un male dovrebbe provare a guidare una macchina coi copertoni di legno.
A parte il nome (itoa... ARRRRGH!)
quella del C non si chiama itoa? :mbe:
Puoi usare anche la classe NumberFormat, che gestisce anche i problemi legati alla formattazione specifica del paese che vuoi imporre alla stringa (ad esempio, il fatto di usare il carattere "." anzichè "," per separare la parte intera del numero dalla parte decimale).
Sì ma... itoa... insomma, dai, itoa...
Non dico convertIntegerToString, ma almeno intToString...eh, dai. itoa... itoa no, fai il bravo sù.
Sì ma... itoa... insomma, dai, itoa...
Non dico convertIntegerToString, ma almeno intToString...eh, dai. itoa... itoa no, fai il bravo sù.
ok, lo correggo...
ma solo se dopo mi dai il biscottino :O
EDIT: ecco qua :O
public static String intToString(int num) {
int currNumVal = 0;
String ret = "";
while(num != 0) {
currNumVal = num % 10;
num /= 10;
ret = (char)(currNumVal + 48) + ret;
}
return ret;
} ho aggiustato anche il codice :D
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.