0

谁能帮我把这个四舍五入到小数点后两位而不是在android中显示所有小数点?

http://i.stack.imgur.com/NoSmj.png

4

4 回答 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 回答