Ratio: 0 / 5

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado
 

A veces nos pasa que necesitamos redondear un valor float a una determinada cantidad de decimales.

Para lograr esto, podemos hacerlo de la siguiente manera:


/**
* Redondear a una cantidad específica de decimales
*
* @param d
* @param cantidad de decimales.
* @return
*/
public static float round(float d, int decimalPlace) {
   BigDecimal bd = new BigDecimal(Float.toString(d));
   bd = bd.setScale(decimalPlace, BigDecimal.ROUND_HALF_UP);
   return bd.floatValue();
}  

Para redondear nuestro valor a dos decimales y mostrarlo en pantalla, deberíamos proceder de la siguiente manera:


....
float x = 2.3f;
TextView txtvw = (TextView) view.findViewById(R.id.nuestrotextview);
txtvw.settext (String.valueof (round (x,2)));
....

Con el parámetro ROUND_HALF_UP, redondeamos hacia arriba. Otros valores posibles en función de lo que estemos necesitando:

ROUND_CEILING: Modo de redondeo para redondear hacia el infinito positivo. Para valores positivos de este modo de redondeo se comporta como ROUND_UP, para valores negativos como ROUND_DOWN.

ROUND_DOWN: El modo en que los valores se redondean hacia cero.

ROUND_FLOOR: Modo para redondear hacia el infinito negativo. Para valores positivos de este modo de redondeo se comporta como ROUND_DOWN, para valores negativos como ROUND_UP.

ROUND_HALF_EVEN: Modo de redondeo donde los valores se redondean hacia el vecino más cercano. Los empates se rompen por el redondeo al prójimo, incluso.

ROUND_HALF_UP: Modo de redondeo donde los valores se redondean hacia el vecino más cercano. Los empates se rompen por redondeo.

ROUND_UNNECESARY: El modo en que las operaciones de redondeo lanza un ArithmeticException para el caso de que el redondeo es necesario, es decir, para el caso de que el valor no se puede representar exactamente.

ROUND_UP: El modo en que los valores positivos se redondean hacia el infinito positivo y los valores negativos hacia el infinito negativo Redondeo.


FacebookMySpaceTwitterDiggDeliciousStumbleuponGoogle BookmarksRedditNewsvineTechnoratiLinkedinRSS FeedPinterest
Pin It