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来
实现。

具体可以参考文章:

//www.greatytc.com/p/330c571c3e06

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容