有人可以帮助我将这个四舍五入到小数而不是显示android中的所有小数?
答案 0 :(得分: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);
有关更多模式,请参阅link。
答案 1 :(得分:0)
您可以使用String.format("%.2f", value)
,您的双倍会自动舍入。
答案 2 :(得分: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。
答案 3 :(得分:0)
试试这个:
//continuing from code
Udregning = aValue * EuroTilKroner;
String abc = String.format("%.2f", Udregning);
result.setText(abc);