如果
double d = 1.999e-4
我希望我的输出为 0.0001999。
我该怎么做?
NumberFormat formatter = new DecimalFormat("###.#####");
String f = formatter.format(d);
您可以探索类的子类NumberFormat
以了解更多详细信息。
你可以这样做:
double d = 1.999e-4;
NumberFormat nf = NumberFormat.getInstance();
nf.setMinimumFractionDigits(7);
System.out.println(nf.format(d));
查看NumberFormat
's 方法的文档以double
按照您认为合适的方式格式化您的文件。
DecimalFormat
是其构造函数状态的特例NumberFormat
,我认为您不需要它的功能来满足您的情况。如果您感到困惑,请查看他们的文档。为了您的方便,getInstance()
请使用工厂方法。NumberFormat
我想 BigDecimal 类中有一个方法叫做toPlainString()
. 例如,如果 BigDecimal 为 1.23e-8,则该方法返回 0.0000000124。
BigDecimal d = new BigDecimal("1.23E-8");
System.out.println(d.toPlainString());
上面的代码打印 0.0000000123,然后您可以根据您的要求处理该字符串。
如果您只想这样打印。
System.out.printf("%1$.10f", d);
你可以改变 10f, 10=你想要的小数位数。
看一看
java.text.DecimalFormat
和
java.text.DecimalFormatSymbols