注册 登录
编程论坛 VB6论坛

奇怪的FormatNumber(Val(Text1(4).Text),4,-1),当X数字大于1000时,变为1000,0000 并且不参与计算?

yiyaozjk 发布于 2012-02-13 18:51, 722 次点击
我的代码如下:
    Text1(7).Text = FormatNumber(Val(Text1(4).Text) * Val(Text1(2).Text), 4, -1)

   当Val(Text1(4).Text)的值为小于999时,一切正常. 并且能正常的 将Val(Text1(4).Text) * Val(Text1(2).Text), 两值相乘 得到正确的结果,

     但当Val(Text1(4).Text)的值为大于1000时,就会变为1000,0000,并且不能正确与Val(Text1(2).Text)相乘的结果,得不到正确结果,Text1(7).Text的值不发生改变???

    这是为什么??要如何更改???
  
3 回复
#2
Artless2012-02-13 23:35
测试没问题
#3
yiyaozjk2012-02-14 11:08
不会吧???你测试没有问题???

我跟踪了一下,运行过程:是在Val(Text1(4).Text) 处 出问题了, 一超过
去掉 了val() 就可以了..
改成:
Text3.Text = FormatNumber(Text1.Text * Text2.Text, 4, 0)

难道val(Text1.Text)不能超1000,有点理解不了.... 我用了一个Text4.Text = FormatNumber(Val(11000), 4, -1) 还是正常的,不知道是什么原因???
#4
yiyaozjk2012-02-15 09:37
Text1(7).Text = FormatNumber(Val(Text1(4).Text) * Val(Text1(2).Text), 4, -1,,vbfalse)
可以解决问题
1