como hacer q 0.000001 sea 1e-6 y no cero???
Podeis ayudarme con esto que no se como solucionarlo???
tengo una variable definida como double y que puede alcanzar valores cercanos a 25e-6 y cuando la meto en un TextField me la redondea a cero y yo quiero que me la represente como es 25e-6 y no la redondee, que puedo hacer??
Muchas gracias por adelantado
un saludo
tengo una variable definida como double y que puede alcanzar valores cercanos a 25e-6 y cuando la meto en un TextField me la redondea a cero y yo quiero que me la represente como es 25e-6 y no la redondee, que puedo hacer??
Muchas gracias por adelantado
un saludo
El problema puede que no sea el redondeo, sino la capacidad de representar numeros del double. Aparte de tener una precision limitada, ciertos valores no los representa bien y los valores extremos tienen problemas. Para poder trabajar con numero de precision casi infinita (arbitraria), utiliza java.math.BigDecimal.
importa java.text.DecimalFormat y haz por ejemplo:
DecimalFormat d = new DecimalFormat("##E00");
String s = d.format(25e-6);
System.out.print(s); // Se imprimirá tal como has dicho
Para más detalles consulta la clase DecimalFormat del api de java
DecimalFormat d = new DecimalFormat("##E00");
String s = d.format(25e-6);
System.out.print(s); // Se imprimirá tal como has dicho
Para más detalles consulta la clase DecimalFormat del api de java
Hola,
No lo he hecho nunca, pero creo recordar que había una clase NumberFormat con la que se podían solucioanr esos problemas :-)
Posiblemente lo que esté ocurriendo es que en algun momento antes de meterlo en el textfield estes convirtiendo ese Doble a entero o alguna cosa así. Intenta hacer pruebas parciales con un "System.out.println" para que te lo muestre por consola y, si sale bien por ahí, debe salir bien en el TextField :)
Saludos,
No lo he hecho nunca, pero creo recordar que había una clase NumberFormat con la que se podían solucioanr esos problemas :-)
Posiblemente lo que esté ocurriendo es que en algun momento antes de meterlo en el textfield estes convirtiendo ese Doble a entero o alguna cosa así. Intenta hacer pruebas parciales con un "System.out.println" para que te lo muestre por consola y, si sale bien por ahí, debe salir bien en el TextField :)
Saludos,