lua strings和numbers的型別轉換

2021-09-24 12:59:42 字數 1329 閱讀 2948

2019獨角獸企業重金招聘python工程師標準》

在我們專案的lua指令碼中,經常會看到下面形式的**

可以看到在構建redis的key時,有兩個 .. 符號用於構建字串。

..在lua中是字串連線符,當在乙個數字後面寫..時,必須加上空格以防止被解釋錯。

lua會自動在string 和numbers之間自動執行型別轉換,當乙個字串使用算術操作符時,string就會被轉化成數字。

[root@localhost ~]# lua

> print("10" + 1)

11.0

> print("10+2")

10+2

> print("hello" +1)

stdin:1: attempt to perform arithmetic on a string value

stack traceback:

stdin:1: in main chunk

[c]: in ?

發過來,當lua期望乙個string而碰到數字時,會將數字轉化成string.

> print(100 .. 20)

10020

..在lua中是字串連線符,當在乙個數字後面寫..時,必須加上空格以防止被解釋錯。

儘管字串和數字可以自動轉換,但是兩者是不同的,像 10=="10"這樣的比較都是錯的。

> print( 10 == "10")

false

如果需要顯式將string轉成數字可以使用函式tonumber(),如果string不是正確的數字該函式將返回nil。

> str = 10 ..20

> str

1020

> print( str == 1020)

false

> print( tonumber(str) == 1020)

true

反之,可以呼叫tostring()將數字轉成字串,這種轉換一直有效:

> print( tostring(10) == "10")

true

> print( 10 .. "" == "10")

true

JavaScript 強制型別轉換 Number

轉換方式一 使用 number 函式 字串 數字 布林值 數字 null 數字 undefined 數字 轉換方式二 這種方式專門用來對付字串 呼叫 parseint 函式將a轉換為 number parseint 可以將乙個字串中的有效的整數內容取出來,然後轉換為 number parsefloa...

JS 型別轉換string 轉換成為 number

js 中將 number 轉換為 string 我們比較熟悉,直接用tostring 的方法就可以了 那麼將 string 轉換成為 number 都有些什麼方法呢?如下便簡單的列舉了一些,以便記錄,說不定什麼時候就用到了 我們可以使用parseint 或者unary plus 或者parseflo...

和 區別和聯絡, 和 區別和聯絡

和 區別和聯絡,和 區別和聯絡,實際專案中,什麼情況用哪種?首先,和 的聯絡 共同點 和 都可以用作 邏輯與 運算子,都是雙目運算子。具體要看使用時的具體條件來決定。無論使用哪種運算子,對最終的運算結果都沒有影響。情況1 當上述的運算元是boolean型別變數時,和 都可以用作邏輯與運算子。情況2 ...