要在点之后删除无用的零,我使用以下方法
if (("" + unitValue).endsWith(".0")) {
return String.format("%.0f %s", unitValue, unitFaName);
} else if (unitValue < 0.001) {
return String.format("%f %s", unitValue, unitFaName);
} else {
return String.format("%s %s", String.valueOf(unitValue), unitFaName);
}
此方法已编辑以下值:
1.000000 => 1
2 zero after the point and before one
1.001000 => 1.001
但无法修改以下值:
但是在点之后和之前不能修改的两个零以上
1.0001000
1.0000100
...
这就是为什么我使用以下条件来避免科学记数法的数字(1.0001000 , 1.0000100)
if(unitValue<0.001){
return String.format("%f %s", unitValue, unitFaName);
}
我以什么方式修改以下数字?
在点之后和之前
之前超过两个零1.0001000
1.0000100
...
我无法使用Decimalformat
或String,Format
,因为点后的数字不是固定数字
答案 0 :(得分:0)
您要找的是here。
public static String fmt(double d)
{
if(d == (long) d)
return String.format("%d",(long)d);
else
return String.format("%s",d);
}