可能重复:
将小数点后的双精度数加到2位有效数字
我有:
mkm=((((amountdrug/fluidvol)*1000)/60)*infrate)/ptwt;
Run Code Online (Sandbox Code Playgroud)
在我的Java代码中.代码工作正常,但返回到几个小数位.如何将其限制为2或3?
blu*_*l2k 90
不要使用双打.你可能会失去一些精确度.这是一个通用功能.
public static double round(double unrounded, int precision, int roundingMode)
{
BigDecimal bd = new BigDecimal(unrounded);
BigDecimal rounded = bd.setScale(precision, roundingMode);
return rounded.doubleValue();
}
Run Code Online (Sandbox Code Playgroud)
你可以用它来调用它
round(yourNumber, 3, BigDecimal.ROUND_HALF_UP);
Run Code Online (Sandbox Code Playgroud)
"precision"是你想要的小数点数.
Sas*_*tch 10
只需使用Math.round()
double mkm = ((((amountdrug/fluidvol)*1000f)/60f)*infrate)/ptwt;
mkm= (double)(Math.round(mkm*100))/100;
Run Code Online (Sandbox Code Playgroud)
小智 8
double formattedNumber = Double.parseDouble(new DecimalFormat("#.##").format(unformattedNumber));
Run Code Online (Sandbox Code Playgroud)
为我工作:)
乘以 1000,四舍五入,然后除以 1000。
对于基本 Java: http://download.oracle.com/javase/tutorial/getStarted/index.html和http://download.oracle.com/javase/tutorial/java/index.html
| 归档时间: |
|
| 查看次数: |
99925 次 |
| 最近记录: |