如何在不向上舍入的情况下显示 3 个小数点?

How to display 3 decimal points without round up?

我正在制作一个需要显示 3 个小数点的应用程序,我通过以下方式实现了这一点 NumberDecimal 但问题是如果第 4 位数字大于 5 那么第 3 位数字 自动增加。我想显示 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);

}

使用RoundingMode.FLOOR:

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

根据您希望如何处理负数,您也可以使用 RoundingMode.DOWN,向零舍入。

您可以使用以下方法截断小数点后的数字,而不对值进行四舍五入。

public static String getThreeDigitDisplayValueFromFloat(float value) {

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