【问题标题】:About NSNumber numberWithDouble关于 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

为什么转换是不同的?

【问题讨论】:

    标签: objective-c ios


    【解决方案1】:

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

    【讨论】:

    • 如何写双字?
    • 5.58l 是长双精度数,而不是双精度数。双精度只是 5.58 没有后缀。
    猜你喜欢
    • 2011-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-29
    相关资源
    最近更新 更多