如何计算小数点后的 0?例如,0.0003
有 3 个零,0.03
有 1 个零,0.00000045
有 6 个零。
问问题
2863 次
3 回答
3
一种方法是不断乘以 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
. 如果你的数字是负数,那么就取它的绝对值。
于 2013-08-20T15:51:44.280 回答
3
(int)Math.log10(1/(x%1))
我认为这个简短的公式应该是正确的[对于正 x - 如果它可以是负数,我们添加绝对值] - 或者在某些情况下它不是?
于 2020-05-13T00:31:21.350 回答
2
您可以使用字符串来做到这一点。首先获取小数点后的数字子串。然后将其转换为 char 数组。然后遍历它并计算零的数量。
于 2013-08-20T16:01:57.247 回答