Redondear a 2 decimales

Posible duplicado:
Redondear un doble a 2 cifras significativas después del punto decimal

Yo tengo:

mkm=((((amountdrug/fluidvol)*1000)/60)*infrate)/ptwt; 

En mi código Java. El código funciona bien pero vuelve a varios decimales. ¿Cómo puedo limitarlo a sólo 2 o 3?

No utilice dobles. Usted puede perder cierta precisión. Esta es una función de propósito general.

 public static double round(double unrounded, int precision, int roundingMode) { BigDecimal bd = new BigDecimal(unrounded); BigDecimal rounded = bd.setScale(precision, roundingMode); return rounded.doubleValue(); } 

Puedes llamarlo con

 round(yourNumber, 3, BigDecimal.ROUND_HALF_UP); 

"Precisión" es el número de puntos decimales que usted desea.

Sólo usa Math.round ()

 double mkm = ((((amountdrug/fluidvol)*1000f)/60f)*infrate)/ptwt; mkm= (double)(Math.round(mkm*100))/100; 
 double formattedNumber = Double.parseDouble(new DecimalFormat("#.##").format(unformattedNumber)); 

Trabajado para mi

BigDecimal a = new BigDecimal("12345.0789");
a = a.divide(new BigDecimal("1"), 2, BigDecimal.ROUND_HALF_UP);
//Also check other rounding modes
System.out.println("a >> "+a.toPlainString()); //Returns 12345.08

Tratar:

 float number mkm = (((((amountdrug/fluidvol)*1000f)/60f)*infrate)/ptwt)*1000f; int newNum = (int) mkm; mkm = newNum/1000f; // Will return 3 decimal places 

Cree una clase llamada Round y pruebe a utilizar el método round como Round.round (targetValue, roundToDecimalPlaces) en su código

 public class Round { public static float round(float targetValue, int roundToDecimalPlaces ){ int valueInTwoDecimalPlaces = (int) (targetValue * Math.pow(10, roundToDecimalPlaces)); return (float) (valueInTwoDecimalPlaces / Math.pow(10, roundToDecimalPlaces)); } } 
  • Excepción personalizada de los extremos de Google Cloud
  • Obtener boolean de la base de datos utilizando Android y SQLite
  • Android sherlock setDisplayHomeAsUpEnabled no funciona y cómo establecer destino personalizado?
  • Mejora del análisis de Java / Kotlin JSON
  • ¿Cómo configurar la alarma cuando el móvil ha estado inactivo usando android?
  • ¿Por qué los valores de latitud y longitud se convierten a 1E6?
  • Com.android.build.transform.api.TransformException
  • ¿Qué técnica de almacenamiento de datos Android utilizar?
  • Android: obtener la rotación actual de una matriz
  • Control de un motor con un dispositivo Android
  • Guardar matriz de objetos personalizados en estado de instancia
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.