iphone - NSString 双重问题

标签 iphone objective-c xcode

可能真的很简单,但我不明白... 我有一个 NSString 50.81114,我想将它转换成一个双...
目前我正在使用 [string doubleValue] 但这是 50.811140000002
这是怎么回事?!

迪斯科

最佳答案

由于精度有限 double 无法存储 50.81114。可以存储在 double 中的最接近值是 50.811140000002

使用NSDecimalNumber反而。像这样:

NSString *string = @"50.81114";
NSDecimalNumber *number = [NSDecimalNumber decimalNumberWithString:string];

关于iphone - NSString 双重问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6927132/

相关文章:

ios - 在 xCode 中指定不同的图像

iphone - 缺少基础 SDK?

ios - 如何在 Objective-C(iOS) 的 `Google Maps` View 中添加标记

ios - UIScrollView 不符合约束条件

IOS - 方法在 for 循环后停止执行

iphone - IOS GameCenter沙盒模式?

ios - 具有附件 View 高度问题的 iPhone 键盘

ios - class_copyIvarList 泄漏

objective-c - 返回数组(警告 : Function returns address of local variable)?

objective-c - Xcode 无法识别的选择器实现