基本代码可以计算给定数字中的位数,但是为什么有效?

时间:2019-05-24 12:28:02

标签: swift logic

我写了这个函数,但是虽然我很高兴它能起作用,但我似乎不明白为什么。

此函数只是给我们传递给定数字的位数。我的问题是: 由于我只将数字除以10,因此while循环不应该是无限的吗?因为它总是大于0。例如:如果我输入250,则应该是:

  • 25;计数器= 1

然后

  • 2.5;计数器= 2

然后

  • 0.25;计数器= 3

然后

  • 0.025;计数器= 4

等...

Foo::kValue

2 个答案:

答案 0 :(得分:0)

因为您使用的是Int,所以不会是无限循环。因此,没有除法的其余部分,这意味着当您除法2/10时,结果将为0

答案 1 :(得分:0)

如果您在Swift中进行操作,为什么不简单地写,

let number = 250
let str = String(number)
print(str.count) //3

您毕竟想在给定的count the number of digitsInt value正确吗?