Hola, uso un API para ampliar un sistema escrito en JAVA EE, usa Tomcat.
Recuperaba de una Base de datos un valor de una calificación, la cual me devolvía algo como:
3,8900007
Lo que hacía era reemplazar la coma por un punto para que me kedara: 3.8900007 y después usaba :
java.text.DecimalFormat formateador = new java.text.DecimalFormat("##.##");
double calificaf = Double.valueOf(calif).doubleValue();
tipoCalifica = formateador.format(calificaf);
Para tener un valor adecuado: 3.89
Resulta que actualizamos la versión del sistema y me encuentro que el valor:
3,8900007
no es reeemplazado a: 3.89, se quedaba con 3,89
Pruebo con un .jsp
java.util.Locale.getDefault()
y me devuelve "es", "ES"
con lo que lo cambio a "es", "MX"
java.util.Locale locale = new java.util.Locale("es","MX");
java.text.DecimalFormat formateador = (java.text.DecimalFormat)java.text.DecimalFormat.g etInstance(locale);
para poder obtener : 3.8
Mi duda es como le asigno la precisión como la hacia antes: ##.## (Ahora misno no tengo problema por que me mustra 2 digitos decimales pero tengo esa duda)y que fué lo que posiblmente cambió para que el código no funcionara.