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 :

[NumberFormat]comment enlever la noation sceintifique ?


Sujet :

Langage Java

  1. #1
    Membre confirmé
    Avatar de link256
    Profil pro
    Développeur Java
    Inscrit en
    Février 2003
    Messages
    596
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Février 2003
    Messages : 596
    Points : 642
    Points
    642
    Par défaut [NumberFormat]comment enlever la noation sceintifique ?
    Bonjour,

    j'ai regardé les posts au sujet de NumberFormat mais je n'ai pas trouver ce que je cherchais ainsi que dans l'api

    je lis un fichier xml qui me sert de fichier de configuration.

    dans lequel j'ai une valeur min = 1000000

    le resultat retourne pour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Double.parseDouble(courant.getText())
    est 1.0E7 ay lieu 1000000 ou 1000000.0

    merme resultat en passant par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    NumberFormat.getInstance(Locale.TAIWAN));//france us
    monFormatteurDeNombre.parse(courant.getText()).doubleValue();

  2. #2
    Membre actif Avatar de fumiste972
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Février 2003
    Messages
    228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Février 2003
    Messages : 228
    Points : 291
    Points
    291
    Par défaut
    Meme resultat en passant par quoi ??
    "L'ignorance, c'est la béatitude, ce qui explique peut-être pourquoi tout le monde sourit"
    Pensez au tag , ca évite de se galérer pour rien.

  3. #3
    Membre éclairé Avatar de sozie9372
    Inscrit en
    Mai 2005
    Messages
    713
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2005
    Messages : 713
    Points : 724
    Points
    724
    Par défaut
    Je pense que tu trouveras une réponse ici
    "Il y a 3 personnes en ce monde sur qui tu peux compter : moi, le pape et le cavalier solitaire ! "
    Penser à svp

  4. #4
    Membre confirmé
    Avatar de link256
    Profil pro
    Développeur Java
    Inscrit en
    Février 2003
    Messages
    596
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Février 2003
    Messages : 596
    Points : 642
    Points
    642
    Par défaut
    j'avais valide trop tot j'ai edit mon message dsl

  5. #5
    Membre confirmé
    Avatar de link256
    Profil pro
    Développeur Java
    Inscrit en
    Février 2003
    Messages
    596
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Février 2003
    Messages : 596
    Points : 642
    Points
    642
    Par défaut
    j'ai essaye le code avec le lien que tu m'as donné
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
       NumberFormat formatter = new DecimalFormat("000000");
       valueToReturn = formatter.parse(courant.getText()).doubleValue();
    cela marche bien par contre il me reste un soucil au niveau des données saisie par l'utilisateur
    qu'il saisisse 10 , 1000 ,10000000000 je voudrais conserver cette notation
    alors qu'avec le format DecimalFormat("000000"); si le nombre est trop grand le resultat repasse en otation sceintifique

  6. #6
    Membre éclairé Avatar de sozie9372
    Inscrit en
    Mai 2005
    Messages
    713
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2005
    Messages : 713
    Points : 724
    Points
    724
    Par défaut
    Utilise des Jokers/wildcards (#), si tu veux au moins 3 digits du mets "000", si tu ne sais pas ce que tu veux tu mets des #.
    Pour un nombre avec 2 chiffres après le virgule tu fais :
    "#.00"
    "Il y a 3 personnes en ce monde sur qui tu peux compter : moi, le pape et le cavalier solitaire ! "
    Penser à svp

  7. #7
    Membre confirmé
    Avatar de link256
    Profil pro
    Développeur Java
    Inscrit en
    Février 2003
    Messages
    596
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Février 2003
    Messages : 596
    Points : 642
    Points
    642
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
        NumberFormat formatter = new DecimalFormat("0000000000000000000000");
        valueToReturn = formatter.parse(courant.getText()).doubleValue();
    avec le nombre : 1049841100000 le resultat est 1.0498411E12

    a partir d'une certaine valeur peut importe le NumberFormat utilise le resultat passe en notation sceintifique

  8. #8
    Membre éclairé Avatar de sozie9372
    Inscrit en
    Mai 2005
    Messages
    713
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2005
    Messages : 713
    Points : 724
    Points
    724
    Par défaut
    Tiens :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    		NumberFormat formatter = new DecimalFormat("#");
    	    double valueToReturn = formatter.parse("104984112500000000").doubleValue();
    	    formatter = new DecimalFormat("#");
    	    System.out.println(formatter.format(valueToReturn));
    "Il y a 3 personnes en ce monde sur qui tu peux compter : moi, le pape et le cavalier solitaire ! "
    Penser à svp

  9. #9
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,


    Tu affiches quoi exactement ? Un double ????
    Parce qu'il n'y a aucune notion de formatage dans un double : juste la valeur du nombre.
    Lorsque tu affiches un double, tu utilises un Formatter par défaut (avec l'expression scientifique si il est très grand).

    Il te faut donc utiliser ton formatter pour afficher le double (et un seul 0 est amplement suffisant) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
            double valueToReturn = 1.0498411E12;
     
            NumberFormat formatter = NumberFormat.getNumberInstance(Locale.FRENCH);
     
            System.out.println(valueToReturn);
            System.out.println(formatter.format(valueToReturn));
     
            formatter = new DecimalFormat("0");
     
            System.out.println(valueToReturn);
            System.out.println(formatter.format(valueToReturn));
    a++

  10. #10
    Membre confirmé
    Avatar de link256
    Profil pro
    Développeur Java
    Inscrit en
    Février 2003
    Messages
    596
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Février 2003
    Messages : 596
    Points : 642
    Points
    642
    Par défaut
    merci beaucoup sa marche tres bien,
    plus besoin de me soucier de la saisie utilisateur

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

Discussions similaires

  1. [jTable] Comment enlever le surlignement d'une ligne
    Par dosbastos dans le forum Composants
    Réponses: 8
    Dernier message: 11/05/2006, 10h47
  2. Comment enlever le boot linux (LILO)
    Par rcs dans le forum Administration système
    Réponses: 21
    Dernier message: 09/09/2005, 10h42
  3. Réponses: 14
    Dernier message: 07/03/2005, 10h04
  4. [DBGRID] Comment enlever les ascenseurs H et V
    Par kase74 dans le forum Bases de données
    Réponses: 6
    Dernier message: 16/09/2004, 18h33
  5. Réponses: 10
    Dernier message: 31/07/2003, 00h35

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