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