1 回答

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超5個(gè)贊
VB會(huì)自動(dòng)把i轉(zhuǎn)換為字符串的。如果用了Str()反而是畫蛇添足,因?yàn)樗鼤?huì)在正數(shù)的前面添加一個(gè)空格。
在多數(shù)情況下,VB都會(huì)自動(dòng)轉(zhuǎn)換數(shù)據(jù)為合適的類型,比如
"123" + 123 = 246
"123" + "123" = "123123"
"123" & 123 = "123123"
但是,有時(shí)候這種自動(dòng)轉(zhuǎn)換有可能并不符合程序設(shè)計(jì)者的需求,所以從嚴(yán)謹(jǐn)?shù)慕嵌瘸霭l(fā),仍然建議盡可能對數(shù)據(jù)類型進(jìn)行顯式轉(zhuǎn)換,比如:
Val("123") + 123 = 246
"123" & CStr(123) = "123123" '這里建議盡量用CStr()不用Str(),因?yàn)榍罢卟粫?huì)在正數(shù)前加空格
補(bǔ)充說一句:凡是表達(dá)式中用&對變量進(jìn)行連接的,則除對象變量外的所有變量類型VB都會(huì)先轉(zhuǎn)換為字符串再進(jìn)行連接,因此像Text4.Text & i & " "中的i就完全沒必要主動(dòng)去轉(zhuǎn)換類型了;但是,如果不是用&連接,而是用的+號,比如Text4.Text + i + " ",這個(gè)就要注意了,根據(jù)Text4值的類型,VB有可能會(huì)把第一個(gè)+號當(dāng)作加法運(yùn)算符來看,所以這種情況下就要盡量對i進(jìn)行轉(zhuǎn)換了,即Text4.Text + CStr(i) + " "。另外,居于上述理由,在進(jìn)行字符串連接時(shí),建議盡量用&不要用+!
添加回答
舉報(bào)