febrero 28, 2013

Limitar el número de decimales

En ciertas ocasiones al manejar números con decimales, al imprimirlos en consola o al mostrarlos en un JTextField salen números con demasiados decimales. Por ejemplo 9.78863242729
Y si solo necesitamos que muestre tres decimales? (Que imprima: 9.788)

Bueno, con este pequeño código podemos solucionar este tipo de inconvenientes  pero algo importante que tengo que recalcar, es que NO CAMBIA EL VALOR DEL NUMERO, es decir, que solo le da formato para que lo muestre, ya sea en consola o en un JTextField.

package ejemplos;
import java.text.DecimalFormat;
/**
 * Archivo: MostrarDecimales.java
 * @author BelloCerecero
 * @since 28-02-2013
 */
public class MostrarDecimales 
{
    public static void main(String[] args) 
    {
      DecimalFormat decimales = new DecimalFormat("0.0000");
      double numero = 7.936427373645;

      System.out.println(decimales.format(numero));
    }
}


Bien, comenzamos en la linea 2, para poder hacer uso de la clase DecimalFormat que es la que nos permitirá hacer nuestro formato de decimales, debemos importarla.

Ya estando en el main, instanciamos la clase DecimalFormat (linea 12). 
Y como se puede observar le estamos pasando como parámetro una String "0.0000" este sera el formato que tendrá nuestro numero al imprimirlo, es decir, que si yo quiero que solo muestre dos decimales, entonces debo de poner como parámetro una String "0.00". 

Ahora declaramos e inicializamos una variable de tipo double con el valor de 7.936427373645 (Linea 13). Entonces al imprimir deberá de mostrar en consola: 7.9364 
Para probar que esto es cierto en la linea 15 utilizando un System.out.println ponemos nuestro instancia de clase "decimales" y usando el método format(), que recibe de parámetro el numero al que dará formato.
Loading...