2016-05-25 65 views
2

我想重寫一些舊的VB6遺留程序到C#,並剛剛遇到此問題。我對Visual Basic還有點新意,我不知道這意味着什麼,或者它的功能是什麼。下面是具體的格式:VB6:「string = string * integer」是做什麼的?

strMyString = strMyString * 100 

不相關的一個變量聲明它,所以我不認爲它與字符串的長度做的,但我不知道。任何建議表示讚賞。

+0

答案在這裏是一樣的,但我想指出,VBA和VB6是兩種截然不同的語言,各有特點。請儘量不要混合使用 – litelite

+2

@litelite由於編程語言VB6和VBA幾乎是相同的*(相同的語法,相同的變量類型,相同的構造,相同的循環,類的方法等等,所有這些都使用相同的DLL運行)。看到這個:http://stackoverflow.com/q/993300/4996248他們在不同的環境下運行,所以你需要知道的一定有區別。這是真正的區別在於VB6/VBA與VB.Net。 –

+1

@JohnColeman我明白你的觀點,但我仍然認爲帖子應該被正確標記。 – litelite

回答

5

如果strMystring包含一個代表數字的字符串,則右側會將其強制爲一個數字,並將其乘以100,之後該賦值將強制結果返回爲一個字符串。

一個簡單的測試:

Sub test() 
    Dim s As String 
    s = "50" 
    s = s * 100 
    Debug.Print s 
End Sub 

上述代碼打印5000,如所預期。

+0

謝謝!我知道這很簡單,但我無法在任何地方找到它的直接參考。字符串值包含一個浮點數,所以這正是程序試圖做的。 – LittleBachman

+0

@LittleBachman如果您打算查看很多舊的VB6代碼,我推薦Paul Lomax編寫的O'Reilly書籍「VB和VBA in a Nutshell」。這是一本寫得很好的參考書,附有大量簡短的片段,說明各種語言功能的工作原理。儘管我已經使用VBA超過15年了,但我仍然每月諮詢2到3次。 –

+1

+1還值得一提的是,使用正在執行的PC的區域設置將字符串轉換爲數字。如果你需要你的代碼在不同的國家運行,這可能很重要 – MarkJ

相關問題