亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

求解釋,為什么在vb中這個i不用str(i)?

求解釋,為什么在vb中這個i不用str(i)?

喵喵時光機 2021-12-02 19:15:27
Function Isprime(n%) As BooleanDim i%Isprime = TrueFor i = 2 To n - 1If n Mod i = 0 ThenIsprime = FalseExit FunctionEnd IfNext iEnd FunctionPrivate Sub Command1_Click()Dim a%, b%, i%a = Val(Text1.Text)b = Val(Text2.Text)Text4.Text = ""For i = a To bIf Isprime(i) Then Text4.Text = Text4.Text & i & " "Next iEnd SubText4.Text = Text4.Text & i & " "中的i為什么不是str(i)
查看完整描述

1 回答

?
四季花海

TA貢獻1811條經驗 獲得超5個贊

VB會自動把i轉換為字符串的。如果用了Str()反而是畫蛇添足,因為它會在正數的前面添加一個空格。
在多數情況下,VB都會自動轉換數據為合適的類型,比如
"123" + 123 = 246
"123" + "123" = "123123"
"123" & 123 = "123123"

但是,有時候這種自動轉換有可能并不符合程序設計者的需求,所以從嚴謹的角度出發,仍然建議盡可能對數據類型進行顯式轉換,比如:
Val("123") + 123 = 246
"123" & CStr(123) = "123123" '這里建議盡量用CStr()不用Str(),因為前者不會在正數前加空格

補充說一句:凡是表達式中用&對變量進行連接的,則除對象變量外的所有變量類型VB都會先轉換為字符串再進行連接,因此像Text4.Text & i & " "中的i就完全沒必要主動去轉換類型了;但是,如果不是用&連接,而是用的+號,比如Text4.Text + i + " ",這個就要注意了,根據Text4值的類型,VB有可能會把第一個+號當作加法運算符來看,所以這種情況下就要盡量對i進行轉換了,即Text4.Text + CStr(i) + " "。另外,居于上述理由,在進行字符串連接時,建議盡量用&不要用+!

查看完整回答
反對 回復 2021-12-06
  • 1 回答
  • 0 關注
  • 277 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號