2016-03-15 61 views
-1

您好我有问题的一种错误的计算在视觉基本错误的计算在Visual Basic

当我输入1.5所有在组合框中然后

textbox4.texttextbox14.text是具有3的值的单位, 3,3,3,3,3,6,2,3等于29

我都将它们添加从textbox30.texttextbox22.text的鸿沟总台是29 的textbox31.text等于1.51724137931034但正确的值是1.50 这样的

TextBox30.Text = 3*1.5 
    TextBox29.Text = 3*1.5 
    TextBox28.Text = 3*1.5 
    TextBox27.Text = 3*1.5 
    TextBox26.Text = 3*1.5 
    TextBox25.Text = 3*1.5 
    TextBox24.Text = 6*1.5 
    TextBox23.Text = 2*1.5 
    TextBox22.Text = 3*1.5 

一个= 4.5 + 4.5 + 4.5 + 4.5 + 4.5 + 4.5 + 9 + 3 + 4.5

textbox31.text = A/29

继承人的代码

Dim a As Integer 
    TextBox30.Text = TextBox4.Text * ComboBox5.Text 
    TextBox29.Text = TextBox5.Text * ComboBox6.Text 
    TextBox28.Text = TextBox6.Text * ComboBox7.Text 
    TextBox27.Text = TextBox7.Text * ComboBox8.Text 
    TextBox26.Text = TextBox8.Text * ComboBox9.Text 
    TextBox25.Text = TextBox9.Text * ComboBox10.Text 
    TextBox24.Text = TextBox10.Text * ComboBox11.Text 
    TextBox23.Text = TextBox11.Text * ComboBox12.Text 
    TextBox22.Text = TextBox12.Text * ComboBox13.Text 


    a = TextBox30.Text + Val(TextBox29.Text) + Val(TextBox28.Text) + Val(TextBox27.Text) + Val(TextBox26.Text) + Val(TextBox25.Text) + Val(TextBox24.Text) + Val(TextBox23.Text) + Val(TextBox22.Text) 

    TextBox31.Text = (a/29) 

回答

1

我不知道它是否能解决您的问题,但最好使用像double这样的数据类型来表示小数。整数仅用于整数。

所以尽量Dim a As Double

+0

感谢您! 我使用materialskin从NuGet包这就是为什么我不能用'暗淡作为Double' 因此而不是双I使用'暗淡的System.Double' – Hawiie13

+0

@ Hawiie13:FYI'Double'和'System.Double'是完全一样的东西。 :) –

1

一个是一个整数。 a = 44.a/29 = 1.5172413793。

能避免一些问题,确保选项严格始终打开。