IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

Multiplication de float


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 166
    Par défaut Multiplication de float
    Bonjour je cherche à multiplier 2 float entre eux.

    Mais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Float f1 = new Float(1);
    Float f2 = new Float(2);
    Float fr = new Float(f1*f2);
    Fonctionne pas.

    et j'ai regardé dans l'api à Float et math et j'ai rien trouvé.

    De plus une fois la multiplication réalisée je dois arrondir à l'entier le plus proche.
    Est-ce que je dois faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If (fr-floor(fr)>=0.5){
    fr = floor(fr+1);
    } else {
    fr = floor(fr);
    }
    Merci de votre aide.

  2. #2
    Membre expérimenté
    Inscrit en
    Octobre 2007
    Messages
    311
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 311
    Par défaut
    Salut,

    Ton 1er bout de code m'a l'air clean, sauf que tu déclares 2 fois la même variable (f1).

    Pour le 2 sample, utilise Math.round(), ça doit fonctionner

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 166
    Par défaut
    Je rectifie dans mon premier post le f1 en f2

    Non le premier bout de code marche pas.
    C'est le multiplier qui plante. Il me repond.
    The operator * is undefined for the argument type(s) java.lang.Float, java.lang.Float

  4. #4
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Float f1 = new Float(1);
    Float f2 = new Float(2);
    Float fr = new Float(f1.floatValue()*f2.floatValue());
    Par ailleurs, pour les opérations mathématiques, il est très vivement conseillé d'utiliser des double plutôt que des float...
    Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
    Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
    Mes articles et tutoriaux & Mon blog informatique

  5. #5
    Membre expérimenté
    Inscrit en
    Octobre 2007
    Messages
    311
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 311
    Par défaut
    Citation Envoyé par xduris Voir le message
    Je rectifie dans mon premier post le f1 en f2

    Non le premier bout de code marche pas.
    C'est le multiplier qui plante. Il me repond.
    Tu compiles avec quelle version du JDK ?

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 166
    Par défaut
    JAVA 2 PLATFORM STANDARD EDITION DEVELOPMENT KIT 5.0

  7. #7
    Membre expérimenté
    Inscrit en
    Octobre 2007
    Messages
    311
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 311
    Par défaut
    C'est bizarre, l'autoboxing est arrivé avec la 5, donc ça devrait marcher...

    Quand tu dis "fonctionne pas", ça signifie "compile pas" ou "s'exécute pas" ?

    EDIT : d'après le message que t'as indiqué (l'opérateur * ...), c'est une erreur de compil

    Si tu utilises Eclipse, et qu'il est bien paramétré pour compiler avec la 5 comme tu sembles l'indiquer, pense tout de même à vérifier que le niveau de compatibilité de ton projet est fixé sur 5.0 mini

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Optimisation de la multiplication de deux float
    Par barhili04 dans le forum x86 32-bits / 64-bits
    Réponses: 2
    Dernier message: 28/11/2009, 13h43
  2. Multiplication de float - imprecision
    Par renovati0 dans le forum C
    Réponses: 8
    Dernier message: 14/11/2009, 13h40
  3. Multiplication de Float - Javascript
    Par alex56470 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 16/01/2009, 05h56
  4. Multiplication float int
    Par skywaltitou dans le forum MFC
    Réponses: 2
    Dernier message: 29/03/2007, 13h08
  5. Multiplication de float
    Par e1lauren dans le forum Langage
    Réponses: 10
    Dernier message: 20/01/2006, 11h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo