W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
現(xiàn)在是時(shí)候開始深入討論你能用到的變量類型。首先從數(shù)值類型開始吧。
Vimscript有兩種數(shù)值類型:Number和Float。一個(gè)Number是32位帶符號(hào)整數(shù)。一個(gè)Float是浮點(diǎn)數(shù)。
你可以通過一些不同的方式設(shè)置Number的格式。執(zhí)行下面的命令:
:echom 100
沒什么好驚訝的 -- Vim顯示100
。現(xiàn)在執(zhí)行下面的命令:
:echom 0xff
這次Vim顯示255
。你可以加0x
或0X
前綴來(lái)指定16進(jìn)制的數(shù)字?,F(xiàn)在執(zhí)行下面的命令:
:echom 010
你也可以加0
前綴來(lái)使用八進(jìn)制。不過由于容易混淆,用的時(shí)候要保持頭腦清醒。嘗試執(zhí)行下面的命令:
:echom 017
:echom 019
第一個(gè)命令中,Vim將打印出15
,因?yàn)?code>17在八進(jìn)制中等于十進(jìn)制的15
。 在第二個(gè)命令中,Vim把數(shù)字的進(jìn)制當(dāng)作十進(jìn)制,即使它以0
開頭,因?yàn)樗豢赡苁且粋€(gè)八進(jìn)制數(shù)字。
因?yàn)閂im會(huì)一聲不吭地處理掉這樣的錯(cuò)誤,我建議盡量避免使用八進(jìn)制數(shù)字。
Float也可以用許多方式進(jìn)行定制。執(zhí)行下面的命令:
:echo 100.1
注意這里我們使用了echo
而不是更常用的echom
。待會(huì)我會(huì)解釋為什么這樣做(譯注:當(dāng)然你現(xiàn)在可以試試看)。
Vim如愿輸出了100.1
。你也可以指定指數(shù)形式。執(zhí)行下面命令:
:echo 5.45e+3
Vim輸出5450.0
。也可以用負(fù)的指數(shù)。執(zhí)行下面命令:
:echo 15.45e-2
Vim輸出0.1545
。在10的冪前面的+
或-
是可選的。如果沒有,就默認(rèn)為正數(shù)。執(zhí)行下面的命令:
:echo 15.3e9
Vim將輸出等價(jià)的1.53e10
。小數(shù)點(diǎn)和小數(shù)點(diǎn)后面的數(shù)字是_必須要有_的。執(zhí)行下面命令并看它為何出錯(cuò):
:echo 5e10
當(dāng)你在運(yùn)算,比較或其他操作中混合使用Number和Float類型,Vim將把Number轉(zhuǎn)換成Float, 以Float格式作為結(jié)果。執(zhí)行下面命令:
:echo 2 * 2.0
Vim輸出4.0
。
在兩個(gè)Number之間的除法中,余數(shù)會(huì)被丟棄。執(zhí)行下面命令:
:echo 3 / 2
Vim輸出1
。如果你希望Vim使用浮點(diǎn)數(shù)除法,至少有一個(gè)數(shù)字必須是Float, 這樣剩下的數(shù)字也會(huì)被轉(zhuǎn)換成浮點(diǎn)數(shù)。執(zhí)行下面命令:
:echo 3 / 2.0
Vim輸出1.5
。3
被強(qiáng)制轉(zhuǎn)換成一個(gè)浮點(diǎn)數(shù),然后運(yùn)行了普通的浮點(diǎn)數(shù)除法。
閱讀:help Float
。什么情況下在Vimscript中不能用浮點(diǎn)數(shù)?
閱讀:help floating-point-precision
。這意味著你在寫一個(gè)處理浮點(diǎn)數(shù)的Vim插件時(shí)需要注意什么?
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: