Convertir chaine en double et puis comparaison

Fermé
AbdelhediManel Messages postés 1 Date d'inscription jeudi 22 octobre 2015 Statut Membre Dernière intervention 22 octobre 2015 - Modifié par KX le 22/10/2015 à 19:20
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 - 22 oct. 2015 à 19:26
Salut, je veux
convertir chaine en double et puis comparer ce double avec un autre double
ma code:
pour la conversion :
double value;
String ch=object.toString().substring(1, 6);
    double obj =Integer.valueOf(ch).doubleValue();
pour la comparaison:
 int x =  obj.compareTo(value);
 if(x > 0) {
        System.out.println("obj is greater than value");
     }
     else if(xretval < 0) {
        System.out.println("obj is less than value");
     }
     else {
        System.out.println("obj is equal to value");
     }

l'erreur est avec obj!!!

A voir également:

1 réponse

KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
22 oct. 2015 à 19:26
Bonjour,

Integer.valueOf()
renvoie un
int
, pas un
Integer
, donc la méthode
doubleValue()
n'est pas utilisable. Tu devrais utiliser un
Double.valueOf()
ou faire un cast de ton
int
vers le
double
.

double obj = Double.valueOf(ch);

double obj = (double) Integer.valueOf(ch);

Remarque :
Puisque
obj
est un
double
, et non un
Double
, la méthode
compareTo()
n'est pas utilisable non plus, tu devrais plutôt utiliser
Double.compare()
.

int x = Double.compare(obj, value);
0