Comment arrondir des valeurs doubles ou flottantes à 2 décimales
Parfois, en travaillant avec double et flotte , nous devons les arrondir à des décimales spécifiques pour le calcul. Par exemple, stocke le prix final arrondi à 2 décimales avec le mode d'arrondi à la moitié.
Exemple #1
Entrée :12
sortie :12.00
Exemple #2
Entrée :18.888
sortie :18.89
1. Cet exemple utilise l'entrée console avec double
import java.text.DecimalFormat; import java.util.Scanner; public class Hello { private static DecimalFormat decimalFormat = new DecimalFormat(".00"); public static void main(String ar[]) { System.out.print("Please enter number : "); Scanner in = new Scanner(System.in); double number = in.nextDouble(); double roundOff = (double) Math.round(number * 100) / 100; String ns = decimalFormat.format(roundOff); System.out.println("Round off number up to 2 decimal place : " + ns); } }
Sorties
Test # 1
Veuillez entrer le nombre :12
Arrondissez le nombre jusqu'à 2 décimales :12.00
Test #2
Veuillez saisir le numéro :18.888
Arrondissez le nombre jusqu'à 2 décimales :18,89
2. Utilisation de la variable flottante
import java.text.DecimalFormat; public class Hello { private static DecimalFormat decimalFormat = new DecimalFormat(".00"); public static void main(String ar[]) { float number = 24.989f; float roundOff = (float) Math.round(number * 100) / 100; String ns = decimalFormat.format(roundOff); System.out.println("Round off number up to 2 decimal place : " + ns); } }
A. La formule de l'exemple est d'arrondir jusqu'à 2 décimales
Arrondir
double roundOff = (double) Math.round(number * 100) / 100;
Formater
private static DecimalFormat decimalFormat = new DecimalFormat(".00");
B. La formule de l'exemple consiste à arrondir jusqu'à 3 décimales
Arrondir
double roundOff = (double) Math.round(number * 1000) / 1000;
Formater
private static DecimalFormat decimalFormat = new DecimalFormat(".000");
Utilisations :Parfois, dans le cadre d'un projet, nous avions besoin d'afficher les prix au format 189,00 $ ou 123,00 ₹.
Il peut également s'agir d'une question d'entretien pour les développeurs Java et Android.