Comment convertir des String en int, float, double, ... , et vice versa ?

vendredi 27 avril 2001 • GF

J’ai décidé de traiter ce point précis de la programmation Java: la convertion des types primaires (ou types de base) de données, car cela m’a posé des problèmes quand j’ai débuté en Java, et cela en pose souvent aux programmeurs venant de Delphi/Pascal, tout simplement car il n’existe pas en Java de méthodes comme IntToStr ou StrToInt (Delphi).
Je vous propose ici l’implémentation de ces deux méthodes, ainsi que deux autre méthodes convertissant des int vers long et des String vers float. Vous pourrez ensuite, une fois le schéma posé dans ce document, faire vous-même d’autres combinaisons.

Voici donc les méthodes ainsi que la manière de les utiliser:

Méthodes

/**
* De String vers INT
*/
public static int strToInt(String s)
{
Integer ger = new Integer(s);
int i = ger.intValue();
return i;
}

/**
* De INT vers String
*/
public static String intToStr(int i)
{
String texte = new String();
texte = texte.valueOf(i);
return texte;
}

/**
* De INT vers long
*/
public static long intToLong(int i)
{
Integer ger = new Integer(i);
long lg = ger.longValue();
return lg;
}

/**
* de String vers float
*/
public static float strToFloat(String s)
{
float f = Float.valueOf(s.trim()).floatValue();
return f;
}

Comment les utiliser

J’ai un champ de texte, un JTextField, dans lequel l’utilisateur entre une valeur numérique. Je veux récupérer cette valeur, lui ajouter 3, par exemple, et l’afficher dans un composant JLabel. Mon JTextField s’appelle textField, et mon JLabel, label. Voici le code que je dois écrire:

int monNombre;
monNombre = srtToInt(textField.getText());
monNombre = monNombre + 3;
label.setText(intToStr(monNombre);
Code réduit:
label.setText(intToStr(strToInt(textField.getText()) + 3));

Tutoriel distribué pour le FAQ Java de Java-France www.java-france.com / www.jgflsoft.com
Réédité pour Valhalla GFBLOG.
Ecrit à Montpellier le 27 avril 2001

J’ai décidé de traiter ce point précis de la programmation Java: la convertion des types primaires (ou types de base) de données, car cela m’a posé des problèmes quand j’ai débuté en Java, et cela en pose souvent aux programmeurs venant de Delphi/Pascal, tout simplement car il n’existe pas en Java de méthodes comme IntToStr ou StrToInt (Delphi).
Je vous propose ici l’implémentation de ces deux méthodes, ainsi que deux autre méthodes convertissant des int vers long et des String vers float. Vous pourrez ensuite, une fois le schéma posé dans ce document, faire vous-même d’autres combinaisons.

Voici donc les méthodes ainsi que la manière de les utiliser:

Méthodes

/**
* De String vers INT
*/
public static int strToInt(String s)
{
Integer ger = new Integer(s);
int i = ger.intValue();
return i;
}

/**
* De INT vers String
*/
public static String intToStr(int i)
{
String texte = new String();
texte = texte.valueOf(i);
return texte;
}

/**
* De INT vers long
*/
public static long intToLong(int i)
{
Integer ger = new Integer(i);
long lg = ger.longValue();
return lg;
}

/**
* de String vers float
*/
public static float strToFloat(String s)
{
float f = Float.valueOf(s.trim()).floatValue();
return f;
}

Comment les utiliser

J’ai un champ de texte, un JTextField, dans lequel l’utilisateur entre une valeur numérique. Je veux récupérer cette valeur, lui ajouter 3, par exemple, et l’afficher dans un composant JLabel. Mon JTextField s’appelle textField, et mon JLabel, label. Voici le code que je dois écrire:

int monNombre;
monNombre = srtToInt(textField.getText());
monNombre = monNombre + 3;
label.setText(intToStr(monNombre);
Code réduit:
label.setText(intToStr(strToInt(textField.getText()) + 3));

Tutoriel distribué pour le FAQ Java de Java-France www.java-france.com / www.jgflsoft.com
Réédité pour Valhalla GFBLOG.
Ecrit à Montpellier le 27 avril 2001