objective-c - 我如何在 Objective-C/iOS 中表示无限数 ~0.99999 .....?

标签 objective-c

我有一个可能永远持续下去的数字,比如 ~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/

相关文章:

ios - Firebase 分析不可用

objective-c - 将字符串转换为 NSDate

objective-c - 使用 C 或 Obj-C 中的 X509 和 PKCS#8 编码的 OpenSSL RSA key 对

ios - 将链接语法转换为嵌入在文本 UITextView 中的链接

objective-c - 在Objective-C中定时和重复执行线程

iphone - 计算核心数据中的不同项目

iphone - 核心数据获取属性。更新后刷新

ios - 如何使用以 NSString 作为参数的 setHTTPBody 方法?

objective-c - 从 Swift 到 Objective-C 的代码行

ios - Apache Cordova - 不要构建 i386 架构