Arrondi en java
Johanna
-
KX Messages postés 19031 Statut Modérateur -
KX Messages postés 19031 Statut Modérateur -
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
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Waptrick java voiture - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
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+