2013-09-30 22 views
26

Ho "1" come stringa, e vorrei convertirlo in decimale, 1, come numero intero.Converti numero stringa in numero intero

Ho provato charAt(), ma restituisce 49, non 1 numero intero.

Quindi, cosa è necessario per convertire la stringa "1" in 1 intero?

+3

Hai visto String API? –

+1

'49' è l'equivalente numerico per il carattere' 1'. Per ottenere il valore numerico di un singolo carattere, puoi fare questo: 'c - '0''. Quindi, '' 1 '-' 0 '= 1'. – Obicere

+0

@Obicere - Sì, anche se questo non è quasi certamente quello che l'OP voleva, vale la pena segnalarlo. Un passo importante nella comprensione della differenza tra un numero (concettuale) e la sua rappresentazione fisica. –

risposta

17

Utilizzare Classe wrapper.

Esempi sono sotto

int

int a = Integer.parseInt("1"); // Outputs 1 

galleggiante

float a = Float.parseFloat("1"); // Outputs 1.0 

doppia

double a = Double.parseFloat("1"); // Outputs 1.0 

lungo

long a = Long.parseLong("1"); // Outputs 1 
+1

Oppure Float o Double, a seconda del tipo di dati. –

8
int one = Integer.parseInt("1"); 

Idealmente si dovrebbe pescatore errori troppo:

int i; 
String s = "might not be a number"; 
try { 
    i = Integer.parseInt(s); 
} catch (NumberFormatException e) { 
    //do something 
} 
4
int foo = Integer.parseInt("1"); 
//foo now equals 1 
2
String s = "1"; 
int i = Integer.valueOf(s); 
Problemi correlati