【发布时间】:2015-11-13 14:18:30
【问题描述】:
我正在将我的 ObjC 应用程序迁移到 Swift 并遇到了一个特殊问题。
我的应用程序读取 JSON 文件并从中构建模型。从 JSON 读取的数字曾经分配给 NSNumber。一些数字是整数(例如 60),另一些则包含小数部分(例如 60.23)。
当我在我的应用程序中显示这些数字时,60 将是 60(不是 60.0)并且小数会正确显示。
现在我正在编写 Swift 代码并将从 JSON 读取的数字分配给 Double。即使我使用 let x=String(myDouble) 数字 60 也总是会出现 60.0
我不想要这个...但我不能只是格式化它 %f 因为我不知道这个数字是整数还是有小数部分。
我是否真的需要检查它是否是一个整体,然后使用它格式化它 %f?
我在 Swift 中遗漏了什么吗?到目前为止,ObjC 代码的行为符合我的要求,Swift 似乎给了我整数的小数。
【问题讨论】:
-
如果你想要 NSNumber 的行为,为什么要切换到 Double?
-
老实说,我只使用了 NSNumber,因为它更容易在 ObjC 中传递。