vb基本文本不是double的成员

时间:2015-07-30 17:49:53

标签: vb.net vba casting double

我有转换问题。当我写txta1 = txta1.Text时,它显示“文本不是double的成员。”我不知道为什么,有人可以向我解释这个吗?

Private Sub btnCalculate_Click(sender As Object, e As EventArgs) Handles btnCalculate.Click
        Dim treatments As String
        Dim ssb, ssw, msb, msw, sigmaA, sigmaB, sigmaC, sigmaabc, squaresigmaA, squaresigmaB, squaresigmaC, squaresigmaabc, f As Double
        Dim txta1, txta2, txta3, txta4, txta5, txtb1, txtb2, txtb3, txtb4, txtb5, txtc1, txtc2, txtc3, txtc4, txtc5 As Double

        'Data Input
        txta1 = txta1.Text



        treatments = lblTreatments.Text


        'Calaculation
        sigmaA = txta1 + txta2 + txta3 + txta4 + txta5
        sigmaB = txtb1 + txtb2 + txtb3 + txtb4 + txtb5
        sigmaC = txtc1 + txtc2 + txtc3 + txtc4 + txtc5
        sigmaabc = sigmaA + sigmaB + sigmaC



        squaresigmaA = txta1 ^ 2 + txtb2 ^ 2 + txtb3 ^ 2 + txtb4 ^ 2 + txtb5 ^ 2
        squaresigmaB = txtb1 ^ 2 + txtb2 ^ 2 + txtb3 ^ 2 + txtb4 ^ 2 + txtb5 ^ 2
        squaresigmaC = txtc1 ^ 2 + txtc2 ^ 2 + txtc3 ^ 2 + txtc4 ^ 2 + txtc5 ^ 2
        squaresigmaabc = squaresigmaA + squaresigmaB + squaresigmaC
        ssb = ((sigmaA) ^ 2 / 5 + (sigmab) ^ 2 / 5 + (sigmac) ^ 2 / 5) - (sigmaabc) ^ 2 / 15
        ssw = squaresigmaabc - ((sigmaA) ^ 2 / 5 + (sigmab) ^ 2 / 5 + (sigmac) ^ 2 / 5)
        msb = ssb / (3 - 1)
        msw = ssw / (15 - 1)
        f = msb / msw

        'Data output
        lblSSB.Text = ssw
        lblSSW.Text = ssw
        lblMSB.Text = msb
        lblMSW.Text = msw
        lblF.Text = f
    End Sub

2 个答案:

答案 0 :(得分:1)

正如编译器试图告诉您的那样,您将txta1声明为Double,其中没有Text属性。

您应该为控件和局部变量选择不同的名称。

答案 1 :(得分:1)

你已经在第4行将txta1声明为Double。我假设你的表单上还有一个名为txta1的TextBox。对于Double使用不同的名称,如txta1Value,因此它不会与TextBox的名称冲突。然后你可以说

txta1Value = Double.Parse(txta1.Text)

(如果有人输入有效的Double以外的其他内容,这将会爆炸;您希望如何处理该问题取决于您。)