浮點(diǎn)數(shù)不準(zhǔn),這個(gè)貌似基本都知道。但是在開發(fā)中很多人沒有對它的使用產(chǎn)生警覺。如果你在開發(fā)iOS應(yīng)用,你可能使用過如下代碼判斷系統(tǒng)版本:
if([[[UIDevicecurrentDevice]systemVersion]floatValue]>=7.0)
{
//something support for ios7
}
這樣一段代碼也的確工作良好,但是注意了如果你把比較的數(shù)值改為7.1,那么很有可能就會(huì)出問題。
在精確的比較中不要使用float
文章開頭的系統(tǒng)版本的比較就是一個(gè)典型的例子,我們可以通過其他方法實(shí)現(xiàn)比較:
if([[[UIDevicecurrentDevice]systemVersion]compare:@"7.1"]!=NSOrderedAscending)
{
//something support for ios7
}