Duble con formato
Quien me puede ayudar, resulta que tengo una valiable double con muchos decimales y quisiera darle un formato con solo dos.
Debes utilizar la clase NumberFormat, la cual tienes que importar: import java.text.*;
Primero crea un objeto de la clase de esta forma: static NumberFormat nf = NumberFormat.getInstance(Locale.US);
Al poner Locale.US los decimales se escriben con punto (8.5).
Después pon el siguiente código en el método en el que trates a los decimales:
nf.setMaximumFractionDigits(2);
nf.setMinimumFractionDigits(2);
En el código anterior se define que los números decimales tienen como mínimo y como máximo 2 dígitos decimales.
Por último deberás escribir nf.format(numDecimal);
Espero que te sirva.Saludos
Primero crea un objeto de la clase de esta forma: static NumberFormat nf = NumberFormat.getInstance(Locale.US);
Al poner Locale.US los decimales se escriben con punto (8.5).
Después pon el siguiente código en el método en el que trates a los decimales:
nf.setMaximumFractionDigits(2);
nf.setMinimumFractionDigits(2);
En el código anterior se define que los números decimales tienen como mínimo y como máximo 2 dígitos decimales.
Por último deberás escribir nf.format(numDecimal);
Espero que te sirva.Saludos
Hola alce.
Creo que lo que tienes que hacer es modificar la salida un con una variable del tipo DecimalFormat, de la siguiente manera.
Tienes que porner el import de java.text.DecimalFormat.
Lego creas un String para el patron
String patron = "#.###,##"; // indacas el tipo de salida que quieres.
Despues creas un Decimal format que llamo formateo por ejemplo asi:
DecimalFormat Formateo = new DecimalFormat(patron); // aqui decimos el la variable patron anterior
Y despues para la salida formateamos la variable double
System.out.print(Formateo.format(numero o variable double); // Si no me he equivocado te saldra.
En el patron las # indican que saquen numero si hay y si siempre quremos digitos los indicamos con 0.
por ejemplo
si ponemos el patron = "#.#00,00";
el numero 0,8654 saldria 0,86
en cambin con patron = "#.###,####";
saldria .160,8654
Espero que te sirva de ayuda y no haber liado mucho la respuesta.
Un saludo.
Creo que lo que tienes que hacer es modificar la salida un con una variable del tipo DecimalFormat, de la siguiente manera.
Tienes que porner el import de java.text.DecimalFormat.
Lego creas un String para el patron
String patron = "#.###,##"; // indacas el tipo de salida que quieres.
Despues creas un Decimal format que llamo formateo por ejemplo asi:
DecimalFormat Formateo = new DecimalFormat(patron); // aqui decimos el la variable patron anterior
Y despues para la salida formateamos la variable double
System.out.print(Formateo.format(numero o variable double); // Si no me he equivocado te saldra.
En el patron las # indican que saquen numero si hay y si siempre quremos digitos los indicamos con 0.
por ejemplo
si ponemos el patron = "#.#00,00";
el numero 0,8654 saldria 0,86
en cambin con patron = "#.###,####";
saldria .160,8654
Espero que te sirva de ayuda y no haber liado mucho la respuesta.
Un saludo.
Una duda super tonta. ¿como transformo un String en un string? o ¿un Double en un double?.
Tengo el problema de tranbsformar a un cierto formato un numero ingresado por la entrada estandar.
HElp!!!
Se me cae en
num = new String(args[0]);
string patron = "###,000.00;(###,000.00)";
DecimalFormat df = new DecimalFormat(patron);
System.out.println(df.format(num)); <-- aki se cae
Gracias
Tengo el problema de tranbsformar a un cierto formato un numero ingresado por la entrada estandar.
HElp!!!
Se me cae en
num = new String(args[0]);
string patron = "###,000.00;(###,000.00)";
DecimalFormat df = new DecimalFormat(patron);
System.out.println(df.format(num)); <-- aki se cae
Gracias