Formato flotante hasta n decimales
Necesito formatear un flotante en "n" lugares decimales.
Estaba intentando BigDecimal, pero el valor de retorno no es correcto...
public static float Redondear(float pNumero, int pCantidadDecimales) {
// the function is call with the values Redondear(625.3f, 2)
BigDecimal value = new BigDecimal(pNumero);
value = value.setScale(pCantidadDecimales, RoundingMode.HALF_EVEN); // here the value is correct (625.30)
return value.floatValue(); // but here the values is 625.3
}
Necesito devolver un valor flotante con el número de decimales que especifico.
Necesito Float
valor de retorno noDouble
.
Aceptado
También puedes pasar el valor flotante y usar:
String.format("%.2f", floatValue);
Documentación
Eche un vistazo a formato decimal . Puedes usarlo fácilmente para tomar un número y darle un número determinado de decimales.
Editar : ejemplo
Prueba esto esto me ayudó mucho.
BigDecimal roundfinalPrice = new BigDecimal(5652.25622f).setScale(2,BigDecimal.ROUND_HALF_UP);
El resultado será redondoPrecio final --> 5652.26