我有一个可能永远持续下去的数字,比如〜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
| 归档时间: | 
 | 
| 查看次数: | 161 次 | 
| 最近记录: |