谁能帮我把这个四舍五入到小数点后两位而不是在android中显示所有小数点?
问问题
4561 次
4 回答
1
使用下面的代码。这将为您返回一个只有 2 位小数的字符串。
// Continuing from the code you have on thee link ...
double Udregning = aValue * EuroTilKroner;
DecimalFormat df = new DecimalFormat("#.00");
String s = df.format(Udregning);
result.setText(s);
希望这有助于其他请评论。
更新
正如@Oren 很好地建议的那样,您可以按如下方式设置舍入模式:
df.setRoundingMode(RoundingMode.HALF_EVEN);
更多模式见链接。
于 2013-05-01T08:20:18.923 回答
0
尝试这个:
//continuing from code
Udregning = aValue * EuroTilKroner;
String abc = String.format("%.2f", Udregning);
result.setText(abc);
于 2014-10-31T21:43:54.627 回答
0
public static String roundAndFormatDouble(double value,int scale) {
try {
BigDecimal bd = new BigDecimal(value);
bd = bd.setScale(scale, RoundingMode.HALF_UP);
String roundedValue = bd.toString();
return roundedValue;
} catch (Exception e) {
e.printStackTrace();
}
return ""+value;
}
舍入和格式化部分都可以使用此 API 处理。
请注意,如果您使用 bd,doubleValue(),在某些情况下您可能无法获得精确缩放的小数位数。例如:50.0。
于 2014-06-03T09:23:53.320 回答
0
您可以使用String.format("%.2f", value)
,您的双精度数将自动舍入。
于 2013-05-01T09:14:04.253 回答