how to convert double to 2 number after the dot?
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
Round a double to 2 significant figures after decimal point
如何在点后将双精度转换为2位数?
例如:
1 | double x=123.45678; |
我需要EDCOX1 0(在Java中用于Android)
提前谢谢
1 |
试试这个代码
1 2 3 4 | double x=123.45678; DecimalFormat df = new DecimalFormat("#.##"); String dx=df.format(x); x=Double.valueOf(dx); |
用这个,
1 2 |
使用NumberFormat类正确设置数字格式。
具体来说,您可以执行以下操作。尽管这并不友好。
1 2 3 | mNumberFormat = NumberFormat.getInstance(); mNumberFormat.setMinimumFractionDigits(2); mNumberFormat.setMaximumFractionDigits(2); |
格式化double的最佳方法是使用numberFormat类:http://developer.android.com/reference/java/text/numberFormat.html
你会这样做的:
1 2 3 | NumberFormat nf = NumberFormat.getInstance(); // get instance nf.setMaximumFractionDigits(2); // set decimal places String s = nf.format(x); |
你也可以把它扔回一个双人房。
如果你想把两个数字正确地四舍五入,我会用bigdecimals:
1 2 | BigDecimal bd = new BigDecimal(x); System.out.println(bd.setScale(2,BigDecimal.ROUND_HALF_EVEN).toPlainString()); |