如何计算小数点后的0?例如,0.0003
有3个零,0.03
有1个零,0.00000045
有6个零。
答案 0 :(得分:1)
一种方法是保持乘以10直到你的数字大于1;然后计算你必须乘以10乘以并减去1的次数。
double num = 0.00000045;
int zeros = 0;
while (num < 1) {
num *= 10;
zeros++;
}
zeros -= 1;
System.out.println(zeros);
6
如果在小数点之前有其他非零数字,则可以使用num = num % 1
之类的方法修剪它们。如果您的数字是负数,那么只需取其绝对值。
答案 1 :(得分:1)
(int)Math.log10(1/(x%1))
我认为这个简短的公式应该是正确的[对于正x-如果它可以为负,我们加上取绝对值]-或在某些情况下不可行?
答案 2 :(得分:0)
您可以使用字符串执行此操作。首先得到小数点后的数字子串。然后将其转换为char数组。然后遍历它并计算零的数量。