字符串 intValue、floatValue、doubleValue、longLongValue 方法可以正確轉換的位數或者大小


在我們這些程序員向服務器請求數據的時候,有的時候請求到的數據往往有對應數據不完全的情況,有的數據需要我們來進行運算(比方說獲得到兩個金額的字符串,但是要把他們加起來還是需要轉換的)下面我給大家說一下我研究到的一些限制,有不對的地方,還望留言指正,誰對咱聽誰的


            比方說你獲得到一個金額的字符串NSString *countStr =@"此處爲你得到的數據";



1.[countStr  intValue ];最大轉換字符串爲“2147483647”是不會出錯的,哪怕轉換大1,也就是當轉換字符串爲“2147483648”的時候,用該方法轉換出來的結果一直都會是2147483647”,當然,比2147483647小的字符串是可以正確轉換的



2.[countStr  floatValue ];這個轉換只有小數點前面只有一位的時候轉換結果和字符串一致,其它的都會有偏差


3.[countStr  longLongValue ];這個方法最大可轉換字符串爲“9223372036854775807”,也就是說這個方法轉換比它小的任何一個長整形的都是正確的,哪怕是比它大1,轉換的時候都會有偏差


4.[countStr  doubleValue ];這個方法的話,當你轉換有小數點的時候,在小數點前的位數小於11的時候,轉換出來的結果是和字符串是一致的,其它情況都會有偏差


以上3、4情況,小數點之後的位數均須按照系統限定位數,超出限制的一定和轉換字符串不一致

發佈了52 篇原創文章 · 獲贊 3 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章