Convertir un string en float
Résolu/Fermé
miloko22
Messages postés
30
Date d'inscription
jeudi 12 décembre 2013
Statut
Membre
Dernière intervention
15 mars 2015
-
15 mars 2015 à 12:12
miloko22 Messages postés 30 Date d'inscription jeudi 12 décembre 2013 Statut Membre Dernière intervention 15 mars 2015 - 15 mars 2015 à 18:04
miloko22 Messages postés 30 Date d'inscription jeudi 12 décembre 2013 Statut Membre Dernière intervention 15 mars 2015 - 15 mars 2015 à 18:04
bonjour,
j'utilise un jtable qui contient des String et des Float
j'ai besoin de convertir leur contenue en float
j'ai utilisé cette fonction mais ça na pas marché
String min1 =(table.getValueAt(0,0).toString());
System.out.println("min=1"+min1);
System.out.println("ccoucou="+Float.valueOf(min1.trim().floatValue());
Pourriez vous m'aider ?
merci beaucoup.
j'utilise un jtable qui contient des String et des Float
j'ai besoin de convertir leur contenue en float
j'ai utilisé cette fonction mais ça na pas marché
String min1 =(table.getValueAt(0,0).toString());
System.out.println("min=1"+min1);
System.out.println("ccoucou="+Float.valueOf(min1.trim().floatValue());
Pourriez vous m'aider ?
merci beaucoup.
A voir également:
- Convertir string en float
- Convertir youtube en mp3 avec audacity - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Convertir epub en kindle - Guide
- Convertir audio en texte word - Guide
- Convertir clavier qwerty en azerty - Guide
4 réponses
KX
Messages postés
16755
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 février 2025
3 020
15 mars 2015 à 12:18
15 mars 2015 à 12:18
Bonjour,
System.out.println("coucou="+Float.valueOf(min1));devrait suffire.
miloko22
Messages postés
30
Date d'inscription
jeudi 12 décembre 2013
Statut
Membre
Dernière intervention
15 mars 2015
Modifié par KX le 15/03/2015 à 14:25
Modifié par KX le 15/03/2015 à 14:25
bonjour,
j 'ai essayé de les remplacer par des numéro
je lit un fichier .txt
mais ça n as pas marché
j 'ai essayé de les remplacer par des numéro
je lit un fichier .txt
try{ InputStream ips=new FileInputStream(fichier); InputStreamReader ipsr=new InputStreamReader(ips); BufferedReader br=new BufferedReader(ipsr); String ligne; j=0; k=0; while ((ligne=br.readLine())!=null ) { //System.out.println("la ligne est "+ligne); tab1= ligne.split(","); for(i=0;i<tab1.length;i++) { // System.out.println("attribut= "+tab1[i]); if(tab1[i]=="sunny") tab1[i]="5"; if(tab1[i]=="overcast") tab1[i]="4"; if(tab1[i]=="rainy") tab1[i]="5"; tab[k][i]=tab1[i]; } k++; }
mais ça n as pas marché
KX
Messages postés
16755
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 février 2025
3 020
15 mars 2015 à 14:45
15 mars 2015 à 14:45
Tu ne peux pas comparer la valeur de deux String avec
Si tu es en Java 7 tu peux aussi faire un switch sur tes valeurs :
En terme de conception on pourrait même faire encore mieux, en faisant un enum qui prendrait chacun de tes cas et leur valeur associée.
Evidemment, il serait plus logique de gérer directement tes float avec l'un ou l'autre de ces mécanismes plutôt que de passer par un String intermédiaire.
==c'est uniquement fait pour comparer l'égalité des deux références, savoir si c'est le même objet, mais puisque les objets sont issus d'un split ils seront forcément différents, il vaut donc mieux utiliser la méthode equals
for(i=0;i<tab1.length;i++) { // System.out.println("attribut= "+tab1[i]); if (tab1[i].equals("sunny") tab1[i]="5"; else if(tab1[i].equals("overcast") tab1[i]="4"; else if(tab1[i].equals("rainy") tab1[i]="5"; tab[k][i]=tab1[i]; }
Si tu es en Java 7 tu peux aussi faire un switch sur tes valeurs :
for(i=0;i<tab1.length;i++) { // System.out.println("attribut= "+tab1[i]); String str = tab1[i]; switch (tab1[i]) { case "sunny": case "rainy": str="5"; break; case "overcast": str="4"; break; } tab[k][i]=str; }
En terme de conception on pourrait même faire encore mieux, en faisant un enum qui prendrait chacun de tes cas et leur valeur associée.
enum Toto { SUNNY(5), RAINY(5), OVERCAST(4); private final int n; Toto(int value) { n = value; } public int getValue() { return n; } } public static String getTotoValue(String str) { try { Toto toto = Toto.valueOf(str.toUpperCase()); int n = toto.getValue(); return String.valueOf(n); } catch (Exception e) { return str; } } for(i=0;i<tab1.length;i++) { tab[k][i] = getTotoValue(tab1[i]); }
Evidemment, il serait plus logique de gérer directement tes float avec l'un ou l'autre de ces mécanismes plutôt que de passer par un String intermédiaire.
miloko22
Messages postés
30
Date d'inscription
jeudi 12 décembre 2013
Statut
Membre
Dernière intervention
15 mars 2015
15 mars 2015 à 14:28
15 mars 2015 à 14:28
bonjour,
j ai fait ça
while ((ligne=br.readLine())!=null )
{
//System.out.println("la ligne est "+ligne);
tab1= ligne.split(",");
for(i=0;i<tab1.length;i++)
{
System.out.println("attribut= "+tab1[i]);
String str1=tab1[i];
String str2="sunny";
if(str1.equals(str2))
{tab1[i]="5"; System.out.println("ok");
}
et ça marché :)
j ai fait ça
while ((ligne=br.readLine())!=null )
{
//System.out.println("la ligne est "+ligne);
tab1= ligne.split(",");
for(i=0;i<tab1.length;i++)
{
System.out.println("attribut= "+tab1[i]);
String str1=tab1[i];
String str2="sunny";
if(str1.equals(str2))
{tab1[i]="5"; System.out.println("ok");
}
et ça marché :)
miloko22
Messages postés
30
Date d'inscription
jeudi 12 décembre 2013
Statut
Membre
Dernière intervention
15 mars 2015
15 mars 2015 à 18:04
15 mars 2015 à 18:04
merci beaucoup.
miloko22
Messages postés
30
Date d'inscription
jeudi 12 décembre 2013
Statut
Membre
Dernière intervention
15 mars 2015
15 mars 2015 à 18:04
15 mars 2015 à 18:04
merci beaucoup...
15 mars 2015 à 13:28
non ça na pas marché j'ai essayé ça en premier , puisque mes chaines sont des caractères de types "sunny" pas de type "555" , ça ne marche pas et je ne trouve pas la solution
15 mars 2015 à 13:49
Ça veut dire quoi ça ? Que tu peux avoir n'importe quel phrase dans ton String ?
Alors pourquoi vouloir les convertir en float ? Ça n'a pas de sens...
Qu'est-ce que tu veux faire exactement ?
15 mars 2015 à 14:16
je veux les convertir en float "ou bien les remplacer par des float c'est plus juste"
par la suite je vais normaliser les valeurs ( c'est de les mettre dans un intervalle entre 0 et 1