字串轉換為整型

2021-08-07 03:20:20 字數 1114 閱讀 7507

在swift中,字串轉換為整型的方法有兩種,我們在這裡比較一下這兩種方法的區別:

1、使用強制型別轉換,**如下:

var str = "1234"

var integer = int(str)

print(integer) // 輸出1234

但如果換乙個字串

var str = "123,4"

var integer = int(str)

print(integer) // 輸出nil

2、先將swift原生string型別字串轉換為nsstring型別,再使用nsstring型別的唯讀屬性即可完成轉換

var str = "1234"

var integer = (str as nsstring).integervalue

print(integer) // 輸出1234

現在換乙個字串

var str = "123,4"

var integer = (str as nsstring).integervalue

print(integer) // 輸出123

但再換乙個字串

var str = "a123,4"

var integer = (str as nsstring).integervalue

print(integer) // 輸出0

結論:可見第一種方法方便、簡單,但如果字串中含有非數字字元,便不能完成轉換,也就是說,這種方法只能將字串整個全部轉換成整型,而且轉換的結果為可選型別(成功時字面量為該數字,失敗時為nil);第二種方法相比第一種方法略為麻煩一點,而且會有一點多餘的轉換的開銷(官方文件說string轉換為nsstring時是零開銷,但肯定是會有開銷的,只是幾乎能忽略不計),但這種方式可以從字串的第乙個字元開始判斷,若第乙個字元為非數字字元,則轉換結果為0,若第乙個字元為數字字元,則轉換下乙個字元,直到遇到非數字字元或字串結尾為止,並且中這種方式轉換的結果為非可選整型

以博主個人的習慣來說,推薦大家使用第二種轉換方法。

atoi 字串數字轉換為整型

實現字串中的數字轉換為整型,具體規則見原始碼注釋。gcc編譯通過。第一種 過程有些繁瑣 include 求冪 此處求冪也可以呼叫math.h中的函式pow 編譯時新增 lm 引數。double mypow double x,double y return tmp 轉化字串中的數字字元到整數。規則如下...

muduo 高效整型轉換為字串

muduo中有一段高效的整形轉換為字串的演算法,這裡記錄一下 efficient integer to string conversions,by matthew wilson include include includeconst char digits 9876543210123456789 ...

如何把字串型資料轉換為整型

在asp.net中提供的convert類是用來進行基本資料型別轉換的,受支援的基本資料型別及其轉換函式如下 資料型別 資料型別說明 轉換函式 轉換函式說明 boolean 布林型toboolean 將指定的值轉換為等效的布林值 char 字元型tochar 將指定的值轉換為unicode字元 sby...