2012-01-26 37 views
3

我正在學習使用這個程序。我幾個星期到學習它,而且我瞭解大部分很好,但我就是無法得到時使用的CDblCIntCStr等功能的把握。下面是的幾行代碼一個例子,我不能得到的把握:何時使用Visual Basic的CDbl和CStr功能

If IsNumeric(txtFirst.Text) And IsNumeric(txtSecond.Text) Then 
    txtSum.Text = CStr(CDbl(txtFirst.Text) + CDbl(txtSecond.Text)) 

這個程序應該採取兩個數字輸入的用戶,並添加在一起。簡單。我玩弄它,我拿出CDblCStr功能,並且應該被加在一起,這兩個數字分別只有一側(加方舉例來說,如果我輸入2和15作爲我的號會吐出215)。

所以我很好奇,當使用這些功能。

爲什麼在第二行,它說CStr(CDbl(?爲什麼我需要轉換爲double,THEN爲string?這是我的理解,除非我正在讀這個錯誤。

另一個問題我已經是,如果我聲明var1Dim var1 as Double。我經常看到下一行爲var1 = CDbl(txtbox.text)等等。我不明白爲什麼我們需要在這裏轉換爲Double,因爲當我將該變量聲明爲double時,它應該已經是雙重形式了,不應該嗎?

+2

在VB中,CDbl,CStr等是**運算符**,而不是函數。大多數情況下,區分並不重要,但它現在可以改變語義。 –

回答

4
  1. 內部CDbl(txtFirst.Text)將第一個文本框的值轉換爲數字。外部CStr(... + ...)將整個總和轉換回字符串。

  2. 變量聲明爲Double,但Text屬性爲String
    您需要CDbl字符串轉換爲數字,以便它可以適應變量中。

+0

這可能會幫助他知道「+」連接字符串,這就是爲什麼他在一種情況下只能使用215而不是17。 –

2

要理解這個代碼:

txtSum.Text = CStr(CDbl(txtFirst.Text) + CDbl(txtSecond.Text)) 

讓我們把它分成碎片。首先,文本框控件中的值是String類型的。爲了執行ADDITION,字符串類型需要轉換爲double類型,所以您需要執行CDbl(txtFirst.Text)CDbl(txtSecond.Text)

ADDITION操作由CDbl(txtFirst.Text) + CDbl(txtSecond.Text)完成。爲了將該ADDITION的結果分配給文本框控件,需要將其轉換爲字符串類型。所以你在CDbl(txtFirst.Text) + CDbl(txtSecond.Text)上做CStr()。因此,在一行代碼中的完整操作是txtSum.Text = CStr(CDbl(txtFirst.Text) + CDbl(txtSecond.Text))