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()); |