在点之后删除无用的零

时间:2016-10-21 15:52:11

标签: java android

要在点之后删除无用的零,我使用以下方法

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
... 

我无法使用DecimalformatString,Format,因为点后的数字不是固定数字

1 个答案:

答案 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);
}