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

avec Java Discussion :

Supprimer plusieurs chiffres après la virgule.


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club Avatar de abdoucasa
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2018
    Messages : 5
    Par défaut Supprimer plusieurs chiffres après la virgule.
    Bonjour,
    Je veux supprimer plusieurs chiffres après la virgule sans arrondir ou changer les chiffres restants.
    Par exemple : 22,1213195687 deviendra 22,12131 et merci d’avance.

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Hello,

    cela dépend du typage que tu utilises pour tes nombres.

    Les possibilités ne sont pas les mêmes si tu utilises

    • BigDecimal : auquel cas tu peux effectivement mettre une limite au nombre de chiffres après la virgule :

      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      BigDecimal n = new BigDecimal("22.1213195687");
      System.out.println(n);
      n = n.setScale(5, RoundingMode.FLOOR);
      System.out.println(n);
    • float ou double : auquel cas si on veut contrôler le nombre de chiffres après la virgule, ça ne peut se faire que quand on les convertit en String dans le but des les afficher. En effet un float ou un double est une valeur approchée. Donc quoi qu'on y fasse, elle aura toujours des chifffres loin après la virgule. Il n'y a qu'en convertissant vers autre chose qu'on peut s'en débarrasser.

      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      6
      7
      8
      DecimalFormat format = new DecimalFormat("0.0");
      format.setMaximumFractionDigits(5);
      format.setRoundingMode(RoundingMode.FLOOR);
       
      double d = 22.1213195687;
      System.out.println(d);
      String s = format.format(d);
      System.out.println(s);
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Nouveau membre du Club Avatar de abdoucasa
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2018
    Messages : 5
    Par défaut Supprimer impeccablement des chiffres après la virgule
    Merci thelvin pour votre aide. Effectivement, j’ai appliqué votre deuxième méthode. Les chiffres disparaissent mais, malheureusement, ils sont remplacés par des zéros.

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Étranges symptômes. Tu peux nous montrer ton code ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Nouveau membre du Club Avatar de abdoucasa
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2018
    Messages : 5
    Par défaut
    Salut thelvin,
    Voici le code mais je n'arrive pas à le faire compiler .
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    import java.util.Scanner;
    import java.math.RoundingMode;
    import static java.lang.Math.*;
    import java.text.DecimalFormat;
    class Euclide  {
      static Scanner entrée = new Scanner(System.in);
      static double distanceEuclidienne(double x1, double y1, double x2 , double y2) 
      {
        double val=Math.sqrt(Math.pow(x2-x1,2)+ Math.pow(y2-y1,2));
        return val;
      }
      public static void main(String[] args) {
        double x1 = entrée.nextDouble();
        double y1 = entrée.nextDouble();
        double x2 = entrée.nextDouble();
        double y2 = entrée.nextDouble();
        double val=0.0;
            val = distanceEuclidienne(x1,  y1,  x2 ,  y2);
        String s = format.format(val);
    Double f1 = Double.parseDouble(s);
    DecimalFormat df = new DecimalFormat(".000000");
    df.setRoundingMode(RoundingMode.DOWN); 
    System.out.println(df.format(f1));
      }
    }

  6. #6
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Hum. Pourtant en t'inspirant de mon code ça devrait aller.

    Comme tu devrais pouvoir le voir, moi j'ai construit un objet "format", avant d'essayer de m'en servir.

    Et au passage, je suis à peu près sûr que le DecimalFormat, la manière dont j'ai proposé de le construire avec mon exemple, ce n'est pas comme toi tu le fais dans ton code.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

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

Discussions similaires

  1. Supprimer les chiffres après la virgule
    Par vbword dans le forum VBA Word
    Réponses: 5
    Dernier message: 27/10/2015, 14h41
  2. Chiffre après la virgule après plusieurs calculs
    Par trentks95 dans le forum VB 6 et antérieur
    Réponses: 15
    Dernier message: 11/04/2013, 14h12
  3. Réponses: 2
    Dernier message: 04/07/2012, 17h25
  4. plusieur chiffre aprés la virgule
    Par jawed dans le forum VBA Word
    Réponses: 1
    Dernier message: 20/11/2007, 22h05
  5. Nb de chiffres après la virgule ?
    Par Thcan dans le forum C
    Réponses: 10
    Dernier message: 17/09/2003, 21h49

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