Problème d'addition en java

Fermé
jpf40200 - 22 nov. 2011 à 15:17
KX Messages postés 16754 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 23 nov. 2011 à 16:43
Bonjour,

Bonjour à tous
Afin d'effectuer des calculs sur des variables, j'utilise cette syntaxe :
var T4=new java.lang.Float((T1*T2));
manager.getResourceManager().setValueLocally(resource,"Total",T4,user);

Si je veux faire une division ((T1/T2));
ça fonctionne

En revanche ((T1+T2));
provoque :
numberformatexception multiple points

Quelqu'un a la solution ?


A voir également:

1 réponse

KX Messages postés 16754 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 020
22 nov. 2011 à 19:06
var T4 : ne confondrais-tu pas Java et JavaScript ?

Puisqu'il n'y a pas vraiment de typage en JavaScript, si tu as T1 = "1.2", et T2="3.4", il est évident que les opérateur *, - et / s'appliquent à des valeurs de type nombre. En revanche l'opérateur + qui peut être appliqué à des nombres ou a des chaines c'est plus ambiguë et en l'occurrence ici il est appliqué en considérant T1 et T2 comme des chaînes de caractères en faisant leur concaténation on a donc T1+T2="1.23.4" qui ne représente plus un nombre et qui génère le message d'erreur assez explicite : NumberFormatException multiple points puisque tu as deux virgules quand on en attend au plus une...

Pour être correct il faut donc appliquer l'opérateur + à des nombres et non pas à des chaînes de caractères c'est à dire calculer var T4 = new Float(T1)+new Float(T2);
0
Merci de ta réponse, mais si j'effectue le changement que tu m'indiques j'obtiens le message :

org.mozilla.javascript.EcmaError: ReferenceError: "Float" n'est pas défini (Script#86)
0
KX Messages postés 16754 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 020
23 nov. 2011 à 16:17
Oui j'ai raccourci l'écriture, mais j'imagine qu'en mettant java.lang.util.Float ça doit marcher
0
Et avec cette solution j'ai :

org.mozilla.javascript.EcmaError: TypeError: [JavaPackage java.lang.util.Float] n'est pas une fonction, est un object (Script#86)
0
KX Messages postés 16754 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 020
23 nov. 2011 à 16:29
J'avoue que je ne sais pas, je ne connais pas JavaScript, Le NumberFormatException qui est une erreur Java ça je sais ce que c'est et je t'ai résolu le problème, le reste c'est du JavaScript...
Essaye de décomposer peut être avec var F1=new Float(T1), F2=new Float(T2), T4=F1+F2
0
Et en décomposant ça donne :
com.axemble.vdp.exceptions.TypeMismatchException

:-(
0