float陷阱

浮点数不准,这个貌似基本都知道。但是在开发中很多人没有对它的使用产生警觉。如果你在开发iOS应用,你可能使用过如下代码判断系统版本:

if([[[UIDevicecurrentDevice]systemVersion]floatValue]>=7.0)

{

//something support for ios7

}

这样一段代码也的确工作良好,但是注意了如果你把比较的数值改为7.1,那么很有可能就会出问题。

在精确的比较中不要使用float

文章开头的系统版本的比较就是一个典型的例子,我们可以通过其他方法实现比较:

if([[[UIDevicecurrentDevice]systemVersion]compare:@"7.1"]!=NSOrderedAscending)

{

//something support for ios7

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 因为要结局swift3.0中引用snapKit的问题,看到一篇介绍Xcode8,swift3变化的文章,觉得很详细...
    uniapp阅读 4,556评论 0 12
  • 有人说过这么一句话:“上大学后,故乡再无春秋,只有冬夏。” 然而,工作了的人会说“真羡慕你们,还有假期。” 是吧,...
    高小啧阅读 1,326评论 0 5
  • 回家休假,得知我谈了外地男朋友, 我大妈(爸爸的嫂子)特意把我叫去聊了一个晚上。 她一再的告诉我, 女人不要嫁远了...
    秋嘉彤阅读 1,131评论 1 1
  • Day1.昨天看完“娜你说吧”的成长分享,感触很多。 我的第一反应,给自己找借口,她说她的工作忙,依然抽时间出来留...
    任雨点阅读 208评论 0 0
  • 如果青春不疯狂,不就和白纸一样。十八岁,应该说,成年了吧,长大了一岁。 翻看着曾经泛黄的记录本,一路走来。18年,...
    快乐的乐阅读 214评论 1 0