我想将Double转换为带有指数符号的String。
例如,Double值转换为String后为4.4395749E7
,它应为4.4395749E+07
(与MS Excel中的显示方式相同)。
我尝试过double.toString()
,但是它正在转换为4.4395749E7
:
Double doubleValue = 44395749d;
doubleValue.toString();
预期为4.4395749E+07
,但实际为4.4395749E7
。
答案 0 :(得分:2)
您可以使用String.format(),login
是指数的格式代码
E
答案 1 :(得分:1)
您可以使用DecimalFormat
设置电话号码的格式:
Double value = 44395749d;
DecimalFormatSymbols symbols = DecimalFormatSymbols.getInstance();
if (value > 1 || value < -1) {
symbols.setExponentSeparator("E+");
}
DecimalFormat decimalFormat = new DecimalFormat("0E00", symbols);
decimalFormat.setMaximumFractionDigits(Integer.MAX_VALUE);
System.out.println(decimalFormat.format(value));
这将根据需要使用DecimalFormatSymbols
为指数添加+
(value > 1
或value < -1
)。要获取所有分数数字,请使用setMaximumFractionDigits(Integer.MAX_VALUE)
。您可以根据需要简单地更改格式。
结果将为4.4395749E+07
。
请牢记在需要时设置特定的语言环境:
DecimalFormatSymbols symbols = DecimalFormatSymbols.getInstance(Locale.ENGLISH)