値がこのようなもの (0.0007) の場合、10 進数の後に 3 つのゼロで終わります。結果は 4.0E-4 になります。
これを修正する方法を教えてください
これは私のプログラムです。
package com;
import java.text.DecimalFormat;
public class Test {
public static void main(String args[]) {
try {
String result = "";
Test test = new Test();
double value = 0.0004;
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)
new DecimalFormat("#,###,###,##0.00##").format(d);
return String.valueOf(d);
}
}