iOS版本比較方法

2021-09-08 18:24:04 字數 1074 閱讀 6630

之前一直把版本號轉換為floatvalue,但是最近在專案中又出現了float的問題,主要是

nsstring表示為@"17.30",轉換為floatvalue 值為17.299999,然後做了一些放大處理,導致不精確,就是精度少了1

所以都不敢在系統版本比較的過程中把值強制轉換為floatvalue了。

/*

* system versioning preprocessor macros hovertree.com

*/#definesystem_version_equal_to(v)([[[uidevicecurrentdevice]systemversion]compare:v options:nsnumericsearch]==nsorderedsame) #definesystem_version_greater_than(v)([[[uidevicecurrentdevice]systemversion]compare:v options:nsnumericsearch]==nsordereddescending) #definesystem_version_greater_than_or_equal_to(v)([[[uidevicecurrentdevice]systemversion]compare:v options:nsnumericsearch]!=nsorderedascending) #definesystem_version_less_than(v)([[[uidevicecurrentdevice]systemversion]compare:v options:nsnumericsearch]==nsorderedascending) #definesystem_version_less_than_or_equal_to(v)([[[uidevicecurrentdevice]systemversion]compare:v options:nsnumericsearch]!=nsordereddescending) /* * usage 何問起 */if(system_version_less_than(@"4.0")) if(system_version_greater_than_or_equal_to(@"3.1.1"))

推薦:

iOS版本比較方法

之前一直把版本號轉換為floatvalue,但是最近在專案中又出現了float的問題,主要是 nsstring表示為 17.30 轉換為floatvalue 值為17.299999,然後做了一些放大處理,導致不精確,就是精度少了1 所以都不敢在系統版本比較的過程中把值強制轉換為floatvalue了...

iOS版本比較的精確方法

於stackoverflow.之前一直把版本號轉換為floatvalue,但是最近在專案中又出現了float的問題,主要是 nsstring表示為 17.30 轉換為floatvalue 值為17.299999,然後做了一些放大處理,導致不精確,就是精度少了1 所以都不敢在系統版本比較的過程中把值強...

版本號比較方法

在開發中大家應該會遇到版本公升級的問題,那麼怎麼對比版本號呢?特別是有的時候版本號長度還不等 如 高版本號為6.8.0 而本地版本號為6.7.0.1 如果是一般的位數相等的版本號解決方法可以是 1.去掉版本號中的 然後轉成float等數字進行對比即可。2.迴圈挨個字元對比,遇到不等的即可break ...