VB计算出来的数不准确

[复制链接]
查看11 | 回复5 | 2011-8-12 12:46:41 | 显示全部楼层 |阅读模式
我用VB做一个换算的程序,用的换成小的全部都正确,但用小的换成大的本来应该是0.几的但却成了9.几(换算不止一种)为什么会这样?
Text3.Text = f / (1024 ^ 3)
Text4.Text = f / (1024 ^ 2)
Text5.Text = f / 1024
Text7.Text = f / (1024 ^ 4)

回复

使用道具 举报

千问 | 2011-8-12 12:46:41 | 显示全部楼层
数学类计算的程序中,数据类型的选择和精度控制很重要的,你这个运算幅度这么大,肯定会有误差啊Private Sub Command6_Click()
Dim f As Double
Dim rlt1 As Double, rlt2 As Double, rlt3 As Double, rlt4 As Double
Dim s As String
f = 5000
rlt1 = f / (1024 ^ 3)
rlt2 = f / (1024 ^ 2)
rlt3 = f / (1024 ^ 0)
rlt4 = f / (1024 ^ 4)
s = Format(rlt1, ...
回复

使用道具 举报

千问 | 2011-8-12 12:46:41 | 显示全部楼层
那不是9.几,是科学计数法:如:9.53123212E-13,用format格式化(保留20位小数):Text3.Text = format(f / (1024 ^ 3),"0.00000000000000000000")或:s="0." & string(20,"0")Text3.Text = format(f / (1024 ^ 3)...
回复

使用道具 举报

千问 | 2011-8-12 12:46:41 | 显示全部楼层
你把你的程序发过来看看。不应该出现这样的情况啊...
回复

使用道具 举报

千问 | 2011-8-12 12:46:41 | 显示全部楼层
源代码有错误呗……...
回复

使用道具 举报

千问 | 2011-8-12 12:46:41 | 显示全部楼层
这几行都不像VB代码!VB中没有“^”这个符号!...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行