問題
如何理解aau中文本與數(shù)字的轉(zhuǎn)換颖系,如何方便的轉(zhuǎn)換,應(yīng)該注意些什么科雳?
探索
aau類似JavaScript,屬于弱類型語言脓杉,文本在很多時(shí)候可能會(huì)自動(dòng)的進(jìn)行轉(zhuǎn)換糟秘,例如
import console
console.log(123+"456")
console.pause()
// out : 123456
123在此刻默認(rèn)轉(zhuǎn)換為了string,然后與string拼接球散。
下面的代碼也是等效的
console.log(123++"456")
// out : 123456
規(guī)則是:
+
在文本對(duì)象下是字符串的拼接尿赚,在數(shù)字情況下是數(shù)的加法;
++
操作符是對(duì)對(duì)象進(jìn)行字符串的拼接蕉堰,
下面這個(gè)例子可以對(duì)比凌净,加深印象:
import console
console.log(type(123++456),123++456)
console.log(type(123+456),123+456)
console.log(type(123+456++7),123+456++7)
console.log(type(123++456+7),123++456+7)
console.pause()
請(qǐng)注意觀察區(qū)別:
可見,請(qǐng)不要混合使用屋讶,及其容易產(chǎn)生意想不到的結(jié)果冰寻,在純數(shù)字情況下,后面的數(shù)是進(jìn)行加法計(jì)算后皿渗,再與string連接的斩芭。
討論
- 顯示的轉(zhuǎn)換數(shù)據(jù):aardio提供三個(gè)強(qiáng)制轉(zhuǎn)換動(dòng)態(tài)類型的函數(shù)
tostring(v) 轉(zhuǎn)換參數(shù)v為字符串,可使用_tostring元方法自定義轉(zhuǎn)換函數(shù)羹奉。
tonumber(v) 轉(zhuǎn)換參數(shù)v為數(shù)值秒旋,可使用_tonumber元方法自定義轉(zhuǎn)換函數(shù)约计。
topointer(v) 轉(zhuǎn)換參數(shù)v為指針诀拭,可使用_topointer元方法自定義轉(zhuǎn)換函數(shù)。
- 使用++操作符號(hào)煤蚌,強(qiáng)行將number轉(zhuǎn)換為string
import console;
a=10
console.varDump(tostring(a)) //顯示轉(zhuǎn)換
console.varDump(a++"") //num轉(zhuǎn)str
console.pause()