Java Language Conversion d'une chaîne en d'autres types de données


Exemple

Vous pouvez convertir une chaîne numérique en divers types numériques Java comme suit:

String à int:

String number = "12";
int num = Integer.parseInt(number);

Chaîne à flotter:

String number = "12.0";
float num = Float.parseFloat(number);

Chaîne à doubler:

String double = "1.47";
double num = Double.parseDouble(double);

Chaîne à booléen:

String falseString = "False";
boolean falseBool = Boolean.parseBoolean(falseString);   // falseBool = false 
    
String trueString = "True";
boolean trueBool = Boolean.parseBoolean(trueString);     // trueBool = true

String à long:

String number = "47";
long num = Long.parseLong(number);

Chaîne à BigInteger:

String bigNumber = "21";
BigInteger reallyBig = new BigInteger(bigNumber);

Chaîne à BigDecimal:

String bigFraction = "17.21455";
BigDecimal reallyBig = new BigDecimal(bigFraction);

Exceptions à la conversion:

Les conversions numériques ci-dessus NumberFormatException toutes une NumberFormatException (non contrôlée) si vous tentez d'analyser une chaîne qui n'est pas un nombre correctement formaté ou qui est hors de portée pour le type cible. La rubrique Exceptions explique comment gérer ces exceptions.

Si vous voulez tester que vous pouvez analyser une chaîne, vous pouvez implémenter une méthode tryParse... comme ceci:

boolean tryParseInt (String value) {  
    try {  
        String somechar = Integer.parseInt(value);
        return true;  
     } catch (NumberFormatException e) { 
        return false;  
     }  
}

Cependant, appeler cette méthode tryParse... immédiatement avant l'analyse est (sans doute) une mauvaise pratique. Il serait préférable d'appeler la méthode parse... et de traiter l'exception.