我有一个刺价值指数在java中取整5个小数位?
class round{
public static void main(String args[]){
String a ="2.4545776339999877E7";
double roundOff = Math.round(a);
System.out.println(roundOff);
}
}
含有所以我要四舍五入高达5个小vaue。如何做到这一点?
我有一个刺价值指数在java中取整5个小数位?
class round{
public static void main(String args[]){
String a ="2.4545776339999877E7";
double roundOff = Math.round(a);
System.out.println(roundOff);
}
}
含有所以我要四舍五入高达5个小vaue。如何做到这一点?
如果你只想输出(或得到一些String
)出这个浮点值,你可以这样做的:
double val = Double.valueOf(a);
String str = String.format("%.5f", val);
System.out.println (str);
不然,如果你真的想获得双倍与精度的整数部分之后5个迹象,你可能会写:
double val = ... // the same as in the previous example
double val5Signs = Math.floor(val * 1e5)/1e5;
这将舍入到最接近的1/100000。 –
@PeterLawrey这是OP要求的,不是吗? –
+1这可能是或OP可能期望'2.45458E7'这是不同的。 –
您还可以使用输出的宗旨在Java十进制格式器:
double input = Double.valueOf(a);
DecimalFormatSymbols symbol = DecimalFormatSymbols.getInstance();
symbol.setDecimalSeparator('.');
System.out.println(new DecimalFormat("#0.00000", symbol).format(input));
请使用代码标签来提高可读性。 – angrybobcat
你也懒得格式化,我懒得回答 – PKlumpp
你的意思是5位数的精度,小数点后5位,或者最接近的1/100000,因为这些都是不同的东西。你能说出预期的结果吗? –