注册 登录
编程论坛 VB6论坛

小数放大缩小的问题

chen3bing 发布于 2019-04-01 16:36, 1915 次点击
我写了一个界面,如下图所示。
只有本站会员才能查看附件,请 登录

右边比如那个厚度0.1,单位是mm。
点击左边那个cm按钮,显示0.01.
点击左边那个m按钮,变成0.0001.
开始我定义了一个单精度型数据
Dim temp As Single
这样,当由m切换回mm时,应该变成0.1,
可是却变成了如下所示:
只有本站会员才能查看附件,请 登录

于是我把变量改成双精度型
Dim temp1 As Double
这样由m切换回mm时没错了,是0.1,可是从cm
切换回mm时,还是出现上面的情况,而不是0.1.
请问高手,我该怎么解决?谢谢!
2 回复
#2
wmf20142019-04-01 18:58
要看你代码如何实现的,我测试的即使显示到0.00000000001也不会出现科学计数的方式显示。如果实在不行,就用format函数约定为小数的显示方式,方法为format(a,"########.########",这样可以确保小数点前后各最多显示8位数字。
我的测试代码如下(没有用format函数):
Dim ya As Integer
Sub aaa(a As Integer, b As Integer)
  Dim n As Double
  n = Val(Text1)
  Text1 = n * a / b
  ya = b
  If b = 1 Then Label1.Caption = "mm"
  If b = 10 Then Label1.Caption = "cm"
  If b = 1000 Then Label1.Caption = "m"
End Sub

Private Sub Command1_Click()
  aaa ya, 1
End Sub

Private Sub Command2_Click()
  aaa ya, 10
End Sub

Private Sub Command3_Click()
  aaa ya, 1000
End Sub

Private Sub Form_Load()
  ya = 1
  Text1 = 0.1
  aaa ya, 1
End Sub
#3
chen3bing2019-04-02 10:09
回复 2楼 wmf2014
我试了一下你的代码,如果是0.1的话,显示.1
如果是0.01的话,显示.01.
我要求显示0.1,和0.01,最前面那个0不要省略
1