Round to 2 decimal places
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
Round a double to 2 significant figures after decimal point
我有:
1 | mkm=((((amountdrug/fluidvol)*1000)/60)*infrate)/ptwt; |
在我的Java代码中。代码工作正常,但返回到几个小数位。如何将其限制为2或3?
不要用双打。你可能会失去一些精度。这是一个通用函数。
1 2 3 4 5 6 | public static double round(double unrounded, int precision, int roundingMode) { BigDecimal bd = new BigDecimal(unrounded); BigDecimal rounded = bd.setScale(precision, roundingMode); return rounded.doubleValue(); } |
你可以打电话给
1 |
"精度"是您想要的小数点数量。
只需使用math.round()。
1 2 3 | double mkm = ((((amountdrug/fluidvol)*1000f)/60f)*infrate)/ptwt; mkm= (double)(Math.round(mkm*100))/100; |
1 |
为我工作:)
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
乘以1000,四舍五入,再除以1000。
对于基本的Java:HTTP://ListBoo.Oracle .COM/JavaSe/TutoRale/GETSARTID/NETX.HTML和HTTP://DeLoad .Oracle .COM/JavaSe/TutoRale/Java/Nojx.HTML
尝试:
1 2 3 | float number mkm = (((((amountdrug/fluidvol)*1000f)/60f)*infrate)/ptwt)*1000f; int newNum = (int) mkm; mkm = newNum/1000f; // Will return 3 decimal places |
创建一个名为Round的类,并尝试在代码中使用Round as Round.Round方法(TargetValue,RoundToDecimalPlaces)
1 2 3 4 5 6 7 8 9 10 |