我正在制作一个需要显示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);
}
答案 0 :(得分:3)
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));
}