我有一个可能永远持续下去的数字,比如 ~0.999999...
看这个:
while (myNumber / 25 > 0.999999)
{
// do stuff
}
如何在 Objective-C 中正确表示该数字?
或者,也许我正在错误地执行此 while
循环,有人可以告诉我如何解决它吗?我正在尝试查看 myNumber
是否可以至少除以 25 一次...所以即使 26/25 也会通过(mod %
在这种情况下不起作用).
最佳答案
对你来说幸运的是,这个重复的小数在浮点运算中有一个精确的表示(你不必四舍五入):
while (myNumber / 25 > 1)
{
// do stuff
}
这是因为“0.999999...”和“1”只是同一个数字的不同写法。它们不是不同的数字。
或者您可能想这样做:
while (myNumber / 25 >= 1)
如果 myNumber
是一个非负整数,那么这实际上是一样的:
while (myNumber / 25) // nonzero values are "true"
或者,您可以将其翻译成等价的:
while (myNumber >= 25) // no need to divide
关于objective-c - 我如何在 Objective-C/iOS 中表示无限数 ~0.99999 .....?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13436133/