Java 删除点后无用的零
要删除点后无用的零,我使用以下方法Java 删除点后无用的零,java,android,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
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.0001000
1.0000100
...
这就是为什么我使用以下条件来避免使用科学符号top number(1.0001000,1.0000100)
我不能使用
Decimalformat
或String,Format
,因为点后面的数字不是固定的数字您要找的已经被回答了
你要找的已经被回答了
“”+unitValue
不要这样做。不要。你为什么不检查一下号码中是否有一个
?如果有,那么您就开始剥离尾随的零。如果没有,那么就没有什么可剥离的,否则您将执行100->1
,它只会查找1.0
,而不会查找1.00
否。它正在检查点零
,如果您的数字是1.100
,则字符串不会以.0结尾,它以.100结尾。您可以使用BigDecimal
的stripTrailingZeros
方法。“+unitValue
不要这样做。不要。你为什么不检查一下号码中是否有一个
?如果有,那么您就开始剥离尾随的零。如果没有,那么就没有什么可剥离的,否则您将执行100->1
,它只会查找1.0
,而不会查找1.00
否。它正在检查点零
,如果您的数字是1.100
,则字符串不会以.0结尾,它以.100结尾。您可以使用BigDecimal
的stripTrailingZeros
方法。该链接中的第二个答案更好。其他人显然同意,因为它有更多的选票当问题已经在别处得到回答时,不要抄袭答案。以重复的方式结束这个问题。@Andreas这不是我现在能做的事情链接中的第二个答案更好。其他人显然同意,因为它有更多的选票当问题已经在别处得到回答时,不要抄袭答案。以重复的方式结束这个问题。@Andreas这不是我现在能做的
1.0001000
1.0000100
...
if(unitValue<0.001){
return String.format("%f %s", unitValue, unitFaName);
}
1.0001000
1.0000100
...
public static String fmt(double d)
{
if(d == (long) d)
return String.format("%d",(long)d);
else
return String.format("%s",d);
}