Java Android十进制格式化,如何根据不同的指数值进行十进制格式化?
我正在开发单位转换应用程序,需要使十进制格式适合不同的指数值Java Android十进制格式化,如何根据不同的指数值进行十进制格式化?,java,android,numbers,number-formatting,Java,Android,Numbers,Number Formatting,我正在开发单位转换应用程序,需要使十进制格式适合不同的指数值 假设答案为1e-6,则答案应为0.000001 假设答案是2.1345e3,答案应该是2134.5 假设答案是2.13456e-9,答案应该是2.13456e-9 假设答案是1987.345e-3,答案应该是1.98734e-6 我附上了iphone和android十进制格式的图像。 正如您在android中看到的,所有值的格式都是相同的,但我需要为不同的值设置不同的格式 如果需要更多信息,请告诉我。下面是我在android中格式
DecimalFormat df = new DecimalFormat("######.#####E+0");
String answer = df.format(value);
return answer;
谢谢,由于您需要不同尺寸的不同格式,您可以将连续体划分为不同的区域,并将每个区域与其格式相匹配。例如(我不确定模式是否有意义,但想法很简单):
由于需要不同大小的不同格式,可以将连续体划分为不同的区域,并将每个区域与其格式相匹配。例如(我不确定模式是否有意义,但想法很简单):
public String myFormat(double value) {
String pattern;
if (value > 1) {
pattern = "######.#E+0";
} else if (value > 0.01) {
pattern = "#.#####E+3";
} else {
pattern = "######.#####E+0";
}
return new DecimalFormat(pattern).format(value);
}