如何在不向上舍入的情况下显示 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);
}
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));
}
我正在制作一个需要显示 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);
}
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));
}