¿Puedo hacerlo con System.out.print?
java
formatting
printf
decimal-point
via_point
fuente
fuente

String.format(java.util.Locale.US,"%.2f", val);Locale.FRANCE?Locale.USva demasiado lejos. Si necesita codificar una configuración regional "neutral" para el plegado de mayúsculas, la representación de números, etc., especifiqueLocale.ROOT. Esto sería apropiado para el texto que será consumido por otro programa, en lugar de ser presentado para usuarios humanos. Para el texto presentado a un usuario, respete su configuración regional, ya sea que la haya especificado explícitamente o sea la predeterminada.Puedes usar
DecimalFormat. Una forma de usarlo:Otro es construirlo usando el
#.##formato.Encuentro que todas las opciones de formato son menos legibles que llamar a los métodos de formato, pero eso es una cuestión de preferencia.
fuente
System.out.printf("%.2f", value)sintaxis? ¿Todavía está por aquí?DecimalFormatrespuestas, inmediatamente pensé que estaba equivocado, pero gracias por aclarar eso.df.setMinimumFractionDigits(2);para forzar dos dígitosSugeriría usar String.format () si necesita el valor como
Stringen su código.Por ejemplo, puede usar
String.format()de la siguiente manera:fuente
fuente
DecimalFormat df = new DecimalFormat("0.00");fuente
La salida es de 22.35. Si necesita 3 puntos decimales cámbielo a "% .3f".
fuente
Mucha gente lo ha mencionado
DecimalFormat. Pero también puede usarloprintfsi tiene una versión reciente de Java:Consulte los documentos en el Formateador para obtener más información sobre la cadena de formato printf .
fuente
Un truco simple es generar una versión más corta de su variable multiplicándola, por ejemplo
100, redondeándola y dividiéndola100.0nuevamente. De esta manera genera una variable, con 2 decimales :Este "truco barato" siempre fue lo suficientemente bueno para mí y funciona en cualquier idioma (no soy una persona Java, solo lo estoy aprendiendo).
fuente
Puede usar estos códigos rápidos a continuación que se modificaron al final. Agregue cuántos ceros se refiere después del punto
fuente
Mira DecimalFormat
Aquí hay un ejemplo del tutorial:
Si elige un patrón como "###. ##", obtendrá dos decimales, y creo que los valores se redondean. Deberá mirar el enlace para obtener el formato exacto que desea (por ejemplo, si desea ceros finales)
fuente
A continuación se muestra el código de cómo puede mostrar una salida de datos flotantes con 2 decimales en Java:
fuente
OK - str para flotar.
Salida:
fuente
pequeño programa simple para demostración:
fuente
Simplemente,
String str = System.out.printf("%.2f", val).replace(",", ".");si desea asegurarse de que independientemente de la configuración regional del usuario, siempre obtendrá / mostrará un "." como separador decimal Esto es imprescindible si no desea hacer que su programa se bloquee si luego realiza algún tipo de conversión comofloat f = Float.parseFloat(str);fuente
Un problema que me tuvo durante una hora o más, encendido
DecimalFormat: maneja las entradas dobles y flotantes de manera diferente. Incluso el cambio de RoundingMode no ayudó. No soy un experto, pero pensé que podría ayudar a alguien como yo. Terminé usando en suMath.roundlugar. Vea abajo:Salida:
fuente
Prueba esto:-
fuente