Java >> Tutoriel Java >  >> Java

Comment imprimer un float avec 2 décimales en Java

En Java, le type flottant représente une valeur à virgule flottante contenant plusieurs chiffres après la virgule décimale. Bien que tous les chiffres soient importants pour le calcul mathématique, seuls deux ou trois chiffres après la virgule sont généralement significatifs.

Dans cet article, nous allons apprendre à obtenir une valeur flottante avec 2 décimales seulement. Nous utiliserons plusieurs méthodes telles que setMaximumFractionDigits(), format(), printf() , etc dans nos exemples. Voyons les exemples.

Exemple 1 :Utiliser la méthode printf() pour imprimer la valeur flottante avec 2 décimales

Java fournit la méthode printf() pour imprimer une sortie formatée sur la console. Elle est similaire à la méthode printf() du langage C, si vous la connaissez, vous pouvez facilement vous y rapporter. Cette méthode prend le premier argument sous la forme d'une chaîne formatée qui spécifie le format de sortie.

/* 
 * Example to print float value with 2 decimal points in Java 
 */
public class JExercise {
	public static void main(String[] args) {
		float a = 1111;
		float b = 7;
		float result = a/b;
		// Display result
		System.out.println(result);
		// Prints only 2 decimal points
		System.out.printf("%.2f", result);
	}
}

Sortie :

158.71428
158.71

Exemple 2 :Utiliser la méthode format() pour imprimer la valeur flottante avec 2 décimales

Dans cet exemple, nous avons utilisé la méthode format() de la classe DecimalFormat pour obtenir une valeur flottante avec 2 décimales. Vous pouvez voir que nous avons utilisé la méthode setMaximumFractionDigits() pour spécifier la limite de nombre de fractions.

import java.text.DecimalFormat;

/* 
 * Example to print float value with 2 decimal points in Java 
 */
public class JExercise {
	public static void main(String[] args) {
		float a = 1111;
		float b = 7;
		float result = a/b;
		// Display result
		System.out.println(result);
		DecimalFormat dfrmt = new DecimalFormat();
		dfrmt.setMaximumFractionDigits(2);
		// Prints only 2 decimal points
		System.out.println(dfrmt.format(result));
	}
}

Sortie :

158.71428
158.71

Exemple 3 :Utiliser la méthode format() de la classe String pour imprimer la valeur flottante avec 2 décimales

La classe Java String fournit une méthode format() pour formater une valeur et renvoie une chaîne qui peut ensuite être convertie en float en utilisant la méthode valueOf() de la classe Float.

/* 
 * Example to print float value with 2 decimal points in Java 
 */
public class JExercise {
	public static void main(String[] args) {
		float a = 1111;
		float b = 7;
		float result = a/b;
		// Display result
		System.out.println(result);
		String str = String.format("%.02f", result);
		result = Float.valueOf(str);
		// Prints only 2 decimal points
		System.out.print(result);
	}
}

Sortie :

158.71428
158.71

Exemple 3 :Utilisez la méthode format("#.##") pour imprimer la valeur flottante avec 2 décimales

Le constructeur de la classe DecimalFormat accepte un modèle qui spécifie le format de la sortie. Vous pouvez voir qu'en utilisant cette astuce, nous n'avons pas besoin d'utiliser la méthode setMaximumFractionDigits(). Cela fonctionne bien et produit le résultat souhaité.

import java.text.DecimalFormat;

/* 
 * Example to print float value with 2 decimal points in Java 
 */
public class JExercise {
	public static void main(String[] args) {
		float a = 1111;
		float b = 7;
		float result = a/b;
		// Display result
		System.out.println(result);
		DecimalFormat dfrmt = new DecimalFormat("#.##");
		// Prints only 2 decimal points
		System.out.println(dfrmt.format(result));
	}
}

Sortie :

158.71428
158.71

Conclusion

Eh bien, dans ce sujet, nous avons appris à obtenir une valeur flottante avec 2 décimales. Nous avons utilisé plusieurs méthodes et classes telles que la classe String, la classe DecimalFormat, etc. qui fournissent une méthode de format pour formater l'entrée dans la sortie souhaitée.

Si nous avons manqué quelque chose, vous pouvez nous suggérer à - [email protected]


Balise Java