Arrondi en java
Johanna
-
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Je souhaiterai arraondir un nombre de type "double" qui a un dizaine de chiffres après la virgule afin qu'il n'en est plus que 2 au maximum.
J'ai trouvé la fonction round mais cela provoque une erreur à la compilation "double cannot be dereferenced".
(J'utilise Java 1.4.1.)
Si vous pouviez m'aider
Merci par avance
Je souhaiterai arraondir un nombre de type "double" qui a un dizaine de chiffres après la virgule afin qu'il n'en est plus que 2 au maximum.
J'ai trouvé la fonction round mais cela provoque une erreur à la compilation "double cannot be dereferenced".
(J'utilise Java 1.4.1.)
Si vous pouviez m'aider
Merci par avance
A voir également:
- Java arrondir
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
4 réponses
Salut,
voilà qui pourrait t'aider
// Methode arrondi
//--------------
// Renvoie un reel avec 2 chiffres apres la virgule
public double arrondi(double val) {return (Math.floor(val*100.0))/100;}
Bon java
puce
voilà qui pourrait t'aider
// Methode arrondi
//--------------
// Renvoie un reel avec 2 chiffres apres la virgule
public double arrondi(double val) {return (Math.floor(val*100.0))/100;}
Bon java
puce
static public double arrondir(double value, int n) {
double r = (Math.round(value * Math.pow(10, n))) / (Math.pow(10, n));
return r;
}
static public Double arrondir(Double value, int n) {
double r = (Math.round(value.doubleValue() * Math.pow(10, n))) / (Math.pow(10, n));
return new Double(r);
}
==>Exemple d'utilisation : arrondir(new Double(0.004),2) ;//arrondi à la 2eme décimale
double r = (Math.round(value * Math.pow(10, n))) / (Math.pow(10, n));
return r;
}
static public Double arrondir(Double value, int n) {
double r = (Math.round(value.doubleValue() * Math.pow(10, n))) / (Math.pow(10, n));
return new Double(r);
}
==>Exemple d'utilisation : arrondir(new Double(0.004),2) ;//arrondi à la 2eme décimale
empêche des erreurs
public class RoundTest { public static void main(String[] args) { double num = myRound(15.6666666, 2); System.out.println( num ); //it’s a double String str = myRound(15.6666666, "0.00"); System.out.println( str ); //it’s a String } private static double myRound(double value, int decimalPlaces) { if(decimalPlaces < 0) { return value; } double augmentation = Math.pow(10, decimalPlaces); return Math.round(value * augmentation) / augmentation; } private static String myRound(double value, String format) { if(format == null || format.length() <= 0) { return String.valueOf(value); } return new DecimalFormat(format).format(value); } }
Une astuce qui pourrait certainement vous aider sur la manière d'arrondir un nombre en Java avec ce lien.
Antoine
Antoine
Tu n'as pas l'impression d'arriver avec 10 ans de retard ?
La question : "J'utilise Java 1.4.1."
Ton astuce : "Si vous utilisez une version de Java antérieure à la 1.6, cette technique ne fonctionnera pas"
En plus de cela ce n'est pas la meilleure manière d'obtenir un arrondi en Java !
En Java 1.5 et plus :
Si le but était de mettre en valeur les articles du JDN, c'est un coup d'épée dans l'eau...
La question : "J'utilise Java 1.4.1."
Ton astuce : "Si vous utilisez une version de Java antérieure à la 1.6, cette technique ne fonctionnera pas"
En plus de cela ce n'est pas la meilleure manière d'obtenir un arrondi en Java !
En Java 1.5 et plus :
System.out.printf("%.2f",1.23456789); // 1.23
Si le but était de mettre en valeur les articles du JDN, c'est un coup d'épée dans l'eau...
pour plus de précision, je dirais:
public double arrondi(double val) {
return (Math.floor(val*100+0.5))/100;
}
a+