我正在从事一项任务,我在处理下面提到的负面情况时感到震惊
如果值小于 1,那么我想格式化(添加)4 个小数点。
例如,如果值为 0.4567,那么我需要 0.4567
否则,如果值大于 1 格式,只有 2 位数字。
例如,如果值为 444.9,那么我需要 444.90
上面提到的一切都工作正常,但在以下情况下受到打击
也就是说,如果该值小于 1 并且以零结尾 (0.1000 , 0.6000) ,则打印 0.2000 是没有意义的,所以在这种情况下,我希望输出仅为 0.20
这是我下面的程序
package com;
import java.text.DecimalFormat;
public class Test {
public static void main(String args[]) {
try {
String result = "";
Test test = new Test();
double value = 444.9;
if (value < 1) {
result = test.numberFormat(value, 4);
} else {
result = test.numberFormat(value, 2);
}
System.out.println(result);
} catch (Exception e) {
e.printStackTrace();
}
}
public String numberFormat(double d, int decimals) {
if (2 == decimals)
return new DecimalFormat("#,###,###,##0.00").format(d);
else if (0 == decimals)
return new DecimalFormat("#,###,###,##0").format(d);
else if (3 == decimals)
return new DecimalFormat("#,###,###,##0.000").format(d);
else if (4 == decimals)
return new DecimalFormat("#,###,###,##0.0000").format(d);
return String.valueOf(d);
}
}