在eclipse android中舍入到两位小数

时间:2013-05-01 08:16:36

标签: android eclipse decimal

有人可以帮助我将这个四舍五入到小数而不是显示android中的所有小数?

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

4 个答案:

答案 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);