java float - ¿Cómo mostrar una salida de datos flotantes con 2 decimales en Java?




6 Answers

Puede usar el método printf , así:

System.out.printf("%.2f", val);

En resumen, la sintaxis %.2f le dice a Java que devuelva su variable ( val ) con 2 decimales ( .2 ) en representación decimal de un número de coma flotante ( f ) desde el inicio del especificador de formato ( % ).

Hay otros caracteres de conversión que puede usar además de f :

  • d : entero decimal
  • o : entero octal
  • e : punto flotante en notación científica
numeros netbeans

¿Puedo hacerlo con System.out.print ?




Sugeriría usar String.format() si necesitas el valor como una String en tu código.

Por ejemplo, puede usar String.format() de la siguiente manera:

float myFloat = 2.001f;

String formattedString = String.format("%.02f", myFloat);






Un truco simple es generar una versión más corta de tu variable multiplicándola por ej. 100 , redondeándola y dividiéndola por 100.0 nuevo. De esta forma generas una variable, con 2 decimales :

double new_variable = Math.round(old_variable*100) / 100.0;

Este "truco barato" siempre fue lo suficientemente bueno para mí, y funciona en cualquier idioma (no soy una persona de Java, simplemente lo estoy aprendiendo).




float floatValue=22.34555f;
System.out.print(String.format("%.2f", floatValue));

La salida es 22.35. Si necesita 3 decimales, cámbielo a "% .3f".




pequeño programa simple para la demostración:

import java.io.*;
import java.util.Scanner;

public class twovalues {

    public static void main(String args[]) {

        float a,b;
        Scanner sc=new Scanner(System.in);
        System.out.println("Enter Values For Calculation");

        a=sc.nextFloat();
        b=sc.nextFloat();

        float c=a/b;
        System.out.printf("%.2f",c);
    }
}



Related