Duble con formato

alce
22 de Julio del 2003
Quien me puede ayudar, resulta que tengo una valiable double con muchos decimales y quisiera darle un formato con solo dos.

Chess
22 de Julio del 2003
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

alce
22 de Julio del 2003
Gracias por la respuesta fue de gran ayuda

Speedy
22 de Julio del 2003
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.

Bret
22 de Julio del 2003
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