floatValue doubleValue 精度转换出现的问题

NSString *sum_amount = @"138020402";

NSLog(@"%.2f", [data[@"sum_amount"] floatValue] / 100 );
NSLog(@"%.2f", [data[@"sum_amount"] doubleValue] / 100 );
NSLog(@"%d", [data[@"sum_amount"] intValue]);

2017-02-10 09:49:17.489 sote[14541:9221357] 1380204.00
2017-02-10 09:49:17.490 sote[14541:9221357] 1380204.02
2017-02-10 09:49:20.608 sote[14541:9221357] 138020402

可以发现,通过floatValue转换出来的值是不准确的,所以需要通过doubleValue来
实现。

具体可以参考文章:

http://www.jianshu.com/p/330c571c3e06

你可能感兴趣的:(floatValue doubleValue 精度转换出现的问题)