Formación informática

Java | Joomla | MySQL

Curso de Java – Tema 24: clase DecimalFormat

Números para convertirPara acceder a su definición oficial en la API de Java 8 tenemos que pulsar sobre este enlace.

¿Qué es y para qué se usa?

Es una clase dentro del paquete text que nos ayuda a dar formato a variables numéricas para mostrarlas en la salida de la forma que nosotros queremos. Hereda de la clase NumberFormat.

Hay que dejar claro que, por ejemplo, usar dos decimales en java, no es algo que se haga con las variables o el código. En código se usan variables de tipo double o float con todos sus decimales y lo único que se hace es darle el formato que queramos a la hora de presentarlo en pantalla, imprimirlo o mostrarlo en alguna ventana de nuestra aplicación. El formato puede ser con dos decimales, con separador de miles y coma decimal, o el que queramos. Para ello, la clase DecimalFormat de java es la clase que debemos usar.

Esta clase usa por defecto el formato para el lenguaje que tengamos instalado en el ordenador. Es decir, si nuestro sistema operativo está en español, se usará la coma para los decimales y el punto para los separadores de miles. Si estamos en inglés, se usará el punto decimal.

¿Cómo se usa?

El primer paso es importar la clase:

import java.text.DecimalFormat;

El siguiente paso crear un objeto de la clase haciendo uso del constructor con el parámetro del patrón a usar:

DecimalFormat formateador = new DecimalFormat("patrón");

Los siguientes ejemplos son cómo se aplican los patrones de salida disponibles en Java:

Valor

Patrón

Salida

Explicación

123456.789

###,###.###

123,456.789

Cada almohadilla equivale a un dígito. La coma es el separador de miles. El punto es el separador para los números decimales.

123456.789

###.##

123456.79

Muestra solo dos decimales a la derecha.

123.78

000000.000

000123.780

Rellena con ceros todas las posiciones indicadas.

12345.67

$###,###.###

$12,345.67

Muestra el símbolo del dólar antes del número.

0.3444

###.##%

34,44%

Muestra el resultado como porcentaje. Cuidado: ¡multiplica por 100!

Veamos un ejemplo completo de uso:

DecimalFormat formateador = new DecimalFormat("####.####");
// Imprime esto con cuatro decimales, es decir: 7,1234
System.out.println(formateador.format(7.12342383));

DecimalFormat formateador2 = new DecimalFormat("0000.0000");
// Imprime con 4 cifras enteras y 4 decimales: 0001,8200
System.out.println(formateador2.format(1.82));

DecimalFormat formateador3 = new DecimalFormat("###.##%");
// Imprime: 68,44%
System.out.println(formateador3.format(0.6844));

Que nos muestra la siguiente salida:

run:
7,1234
0001,8200
68,44%
BUILD SUCCESSFUL (total time: 0 seconds)

Una aplicación práctica muy común es cuando realizamos aplicaciones gráficas y tenemos un campo JTextField que contiene un número y deseamos reconstruirlo con DecimalFormat.

Curso de Java – Tema 23: impresión de mensajes por línea de comandos <- | -> Curso de Java – Tema 25.1: estructuras de lenguajes de programación y bloques de código
Curso de Java - Índice ejercicios nivel básico

Escribir un comentario

Aunque los comentarios no expresan la opinión del administrador del sitio web, éste si que tiene una responsabilidad legal sobre lo que aparece. Por lo tanto, habrá una labor de moderación de los mensajes. No se permitirán mensajes ofensivos ni publicidad


Código de seguridad
Refescar

Solicitamos su permiso para obtener datos estadísticos de su navegación en esta web, en cumplimiento del Real Decreto-Ley 13/2012, de 30 de marzo. Si continúa navegando consideramos que acepta el uso de cookies. . Más información