VB计算器的BUG
发布网友
发布时间:2023-09-21 19:55
我来回答
共5个回答
热心网友
时间:2024-11-24 11:46
使用Format格式化串,比如:
'这里要保留几位小数,就用几外#号
Label1.Caption = Format(10 / 81, "0.######")
热心网友
时间:2024-11-24 11:46
不是vb的bug,这是windows系统的设置决定的,(vb也是微软的产品哦)
设置
控制面板-区域和语言选项-点击区域选项中的自定义,零起始显示改为0.7,就可以了
如果要再程序里显示0.0 ,比较麻烦,就是要多点代码
计算后,调用下后面的过程就可以了
Sub xinsilin() '小数点前的第一个0的显示,win系统默认的是0不显示的
n = Len(Label1.Caption)
If Left(Label1, 1) = "." Then Label1 = "0" & Label1
If Left(Label1, 2) = " ." Then Label1 = "0" & Right(Label1, n - 1)
If Left(Label1, 2) = "-." Then Label1 = "-0" & Right(Label1, n - 1)
End Sub
热心网友
时间:2024-11-24 11:47
加上一下代码就搞定~呵呵
Private Sub Label1_Change()
If Me.Label1.Caption <> "" Then
If Mid(Me.Label1.Caption, 1, 1) = "." Then
Me.Label1.Caption = "0" & Me.Label1.Caption
End If
End If
End Sub
回答者: mayorvb - 经理 五级 2009-6-21 04:46
用format格式化下输出的数不就好了
format(number,"0.#")
回答者: tianqing20wen - 同进士出身 六级 2009-6-21 06:16
不是vb的bug,这是windows系统的设置决定的,(vb也是微软的产品哦)
设置
控制面板-区域和语言选项-点击区域选项中的自定义,零起始显示改为0.7,就可以了
如果要再程序里显示0.0 ,比较麻烦,就是要多点代码
计算后,调用下后面的过程就可以了
Sub xinsilin() '小数点前的第一个0的显示,win系统默认的是0不显示的
n = Len(Label1.Caption)
If Left(Label1, 1) = "." Then Label1 = "0" & Label1
If Left(Label1, 2) = " ." Then Label1 = "0" & Right(Label1, n - 1)
If Left(Label1, 2) = "-." Then Label1 = "-0" & Right(Label1, n - 1)
End Sub
回答者: cwa9958 - 魔导师 十级 2009-6-21 06:35
热心网友
时间:2024-11-24 11:47
加上一下代码就搞定~呵呵
Private Sub Label1_Change()
If Me.Label1.Caption <> "" Then
If Mid(Me.Label1.Caption, 1, 1) = "." Then
Me.Label1.Caption = "0" & Me.Label1.Caption
End If
End If
End Sub
热心网友
时间:2024-11-24 11:48
用format格式化下输出的数不就好了
format(number,"0.#")