计算Java中小数点后的零数

时间:2013-08-20 15:48:31

标签: java

如何计算小数点后的0?例如,0.0003有3个零,0.03有1个零,0.00000045有6个零。

3 个答案:

答案 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数组。然后遍历它并计算零的数量。