关于 NSNumber numberWithDouble

Posted

技术标签:

【中文标题】关于 NSNumber numberWithDouble【英文标题】:About NSNumber numberWithDouble 【发布时间】:2012-07-30 03:38:24 【问题描述】:
double test1 = 5.58f;

NSString *test2 = @"5.58";

NSLog(@"%@", [NSNumber numberWithDouble:test1]);

NSLog(@"%@", [NSNumber numberWithDouble:[test2 doubleValue]]);

输出:

5.579999923706055

5.58

为什么转换是不同的?

【问题讨论】:

【参考方案1】:

可能是因为 5.58f 是 float,而不是 double

【讨论】:

如何写双字? 5.58l 是长双精度数,而不是双精度数。双精度只是 5.58 没有后缀。

以上是关于关于 NSNumber numberWithDouble的主要内容,如果未能解决你的问题,请参考以下文章

对NSNumber的理解

NSNumber类和NSString类

从 '(NSNumber) -> NSNumber' 转换为不相关类型 '(Any) -> Any' 总是失败

NSNumber的用法

如何增加 NSNumber

NSNumber 初始化问题