iOS开发笔记之四十二——一个double精度导致的bug
来源:互联网 发布:mac系统打不开exe文件 编辑:程序博客网 时间:2024/05/19 17:09
最近app报了一个double类型显示的bug
1、先看下问题:
代码里面接受来自api返回的double型的数据,方式如下:
itemCell.priceLabel.text = [NSString stringWithFormat:@"¥%@", @(item.ticketGroup.bestPrice)];
结果api传过来89.9时,label显示结果如下:
2、%f,%e,%g的区别:
%@,不做类型转换,数据原来是什么类型,它就会原封不动的将它包装成对象。那么我们来看看,这是什么原因导致了,这种bug。
看到上面的对比,你就该知道,%f遇到有些double数据会“失真”,此时不能再用%f处理了。%e是指数形式,%g是选用%f%e中较短的一种形式输出。所以,此时建议采取
%g,代码如下:
itemCell.priceLabel.text = [NSString stringWithFormat:@"¥%g", item.ticketGroup.bestPrice];
3、参考资料:
http://www.bkjia.com/IOSjc/872298.html
2 0
- iOS开发笔记之四十二——一个double精度导致的bug
- iOS 一个double精度导致的bug
- iOS开发笔记之二十一——类型不匹配导致的app崩溃问题(bug总结二)
- iOS开发笔记之三十九——一个@dynamic导致的crash问题
- iOS开发笔记之十九——一个模态视图切换bug引发的思考
- iOS开发笔记之四十一——一个野指针引起的bug
- iOS开发笔记之二十三——一个delegate没有更新引起的bug(bug总结三)
- iOS开发笔记之二十——空值(nil值)导致的app崩溃(bug总结一)
- iOS开发笔记之二十六——使用系统相册或相机导致状态栏隐藏的问题(bug总结四)
- iOS开发笔记之四十三——日历NSCaledar使用过程中遇到的一个苹果系统bug
- Java中关于 BigDecimal 的double入参的构造函数导致的数据似乎损失精度的bug
- ios模拟器和真机的差异-浮点数精度导致的bug
- 关于产品的一些思考——(四十二)网易之有道云笔记协同版
- double 的精度问题
- Double的精度问题
- double类型的一个小bug
- iOS开发笔记之二十九——一个关于工程目录读写权限的问题
- iOS开发笔记之四十——一个诡异的编译报错问题
- 10001---浅谈jsp、freemarker、velocity区别
- 用抓包软件来分析tcp 数据包
- ExcellenceMinimum Operational Standards
- android应用名称设置的问题
- unison实现文件双向同步
- iOS开发笔记之四十二——一个double精度导致的bug
- usaco.section1.3 wormhole(枚举)
- oracle处理乱码的问题
- Android--获取标题栏,状态栏,屏幕高度
- wxPython笔记(Getting started with wxPython 3)
- 内存分析
- 微信扫码支付-原生支付-流程图
- opencv-压缩图片
- 数据挖掘算法基础-关联规则