如何在没有舍入的情况下显示3个小数点?

时间:2015-02-02 07:39:12

标签: java android decimal bigdecimal number-formatting

我正在制作一个需要显示3个小数点的应用程序     NumberDecimal但问题是第四位是> 5然后是第三位     自动增加。我想为ex:

显示确切的数字
Result           : 100.2356 
Output           : 100.236  // Applying NumberDecimal

需要此输出:100.235 //我需要此输出

This is my function :
public String setdecimal(float a) 
{
   NumberFormat formatter = new DecimalFormat("##.###");
   return formatter.format(a);

}

2 个答案:

答案 0 :(得分:3)

使用RoundingMode.FLOOR

NumberFormat formatter = new DecimalFormat("##.###");
formatter.setRoundingMode(RoundingMode.FLOOR);

根据你想要处理负数的方式,你也可以使用RoundingMode.DOWN,它向零舍入。

答案 1 :(得分:0)

您可以使用下面的方法截断点后的数字而不将值四舍五入。

public static String getThreeDigitDisplayValueFromFloat(float value) {

    String price = new DecimalFormat("##.###").format(value);
    return String.format(Locale.getDefault(), "%.3f", Float.parseFloat(price));
}