PDA

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

AngeL)
21-07-2007, 12:17
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;
}

pisto
21-07-2007, 12:27
Integer.toString(int);
Integer.toString(int,int); il secondo parametro indica il sistema numerico, binario (2), decimale (10), etc.

PGI-Bis
21-07-2007, 12:37
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 ;)

AngeL)
21-07-2007, 12:59
C'è anche String.valueOf(int). Hey, ce ne sono un sacco! :D.

:ops2:

PGI-Bis
21-07-2007, 13:08
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.

AngeL)
21-07-2007, 13:26
A parte il nome (itoa... ARRRRGH!)

quella del C non si chiama itoa? :mbe:

Mixmar
21-07-2007, 13:33
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).

PGI-Bis
21-07-2007, 13:35
Sì ma... itoa... insomma, dai, itoa...

Non dico convertIntegerToString, ma almeno intToString...eh, dai. itoa... itoa no, fai il bravo sù.

AngeL)
21-07-2007, 13:48
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