注册 登录
编程论坛 VB6论坛

关于VB计算精确度的问题~~~求解答

孙东东007 发布于 2015-05-22 14:26, 689 次点击
这个计算结果明显是错误的,可是代码也正确啊,是精确度有问题么?应该怎么弄呢?
只有本站会员才能查看附件,请 登录
10 回复
#2
wp2319572015-05-22 14:28
代码呢???  明显是错误的也敢说“可是代码也正确啊”
#3
孙东东0072015-05-22 14:29
Private Sub Command1_Click()
D = Val(Text7.Text)
P0 = 1.18 / D ^ 0.5
Text4.Text = P0
End Sub

Private Sub Command2_Click()
Text4.Text = ""
Text7.Text = ""
End Sub
#4
wp2319572015-05-22 14:36
我这里没问题:

程序代码:
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        Dim D As Double
        Dim P0 As Double
        D = Val(TextBox3.Text)
        P0 = 1.18 / D ^ 0.5
        TextBox4.Text = P0
    End Sub
#5
孙东东0072015-05-22 15:06
看起来好深奥,我是菜鸟,应该把这些代码放在哪呀?放在计算按钮里么?
#6
wp2319572015-05-22 15:07
我没有vb6环境  那个神马一系列变量不用dim定义 你都能直接用吗
#7
孙东东0072015-05-22 15:11
好吧~~~我承认我没明白你什么意思,我之前那个代码就可以计算,但是计算有些大的数值的时候就不对了,比如根号里输入100就可以正确地算出来了,但是输入大点的数值就不行了,你在帮我看看呗,我用的是VB6.0
#8
wmf20142015-05-22 15:18
你把text4宽度拉宽点就看到真正的结果了,是科学计数法造成的。
#9
孙东东0072015-05-22 15:20
回复 8楼 wmf2014
还是不行~~
#10
wmf20142015-05-22 16:13
回复 9楼 孙东东007
Private Sub Command1_Click()
D = Val(Text7.Text)
P0 = 1.18 / D ^ 0.5
Text4.Text = Format(P0, "0.00000")   '调整下格式吧,就看到正确答案了,你的答案是1.96666666666667E-02,由于太长,显示不出来
End Sub

Private Sub Command2_Click()
Text4.Text = ""
Text7.Text = ""
End Sub
#11
孙东东0072015-05-22 16:35
回复 10楼 wmf2014
解决了,谢谢啦~~~~
1