全世界最傻的语言——VB 的一个关于全局变量的问题

来源:百度知道 编辑:UC知道 时间:2024/06/22 07:15:18
Public pri As Single
Private Sub Command1_Click()
pri = 0.1
Text1.Text = 1
Text2.Text = Text1.Text * pri
End Sub
得出的结果为:
Text2.Text=0.100000001490116
要是取消 Public pri As Single 定义,得出的结果为:
Text2.Text=0.1
这是为什么?
请大家注意一下问题
要是取消 pri As Single 定义或定义为 pri As Double,得出的结果为:
Text2.Text=0.1
这是为什么?

程式可为:
Private Sub Command1_Click()
Dim pri As Single
pri = 0.1
Text2.Text = Val(Text1.Text) * pri
End Sub

早研究出来了,没来更新一下,其实是VB数字的单双精度问题。双精度数值除以单精度数值就出现了这个结果。

你是典型的 乱来。

Text1.Text 是 字符串型,
1是数字,默认是 整数型。

整数复制给字符串,传递的是啥呀?是地址

如果你是有心做程序的,就请严格按照语法写,如果是想玩我们的,就当我跟傻子说了。

不知是你在鄙视VB还是鄙视你的智商!

public声明应该定义在标准模块中
"text2.text=text1.text*pri"这个语句到底是什么意思?解释一下。。。你是说text2.text内储存了text1..text与pri的乘积吗?

回答者: Coo_boi - 职场新人 三级 2009-10-19 20:54

检举 你是典型的 乱来。

Text1.Text 是 字符串型,
1是数字,默认是 整数型。

整数复制给字符串,传递的是啥呀?是地址

如果你是有心做程序的,就请严格按照语法写,如果是想玩我们的,就当我跟傻子说了。

回答者: FM网络 - 主管 六级 2009-10-19 20:55

检举 不知是你在鄙视VB还是鄙视你的智商!

LZ你问了个最傻的的问题:

Option Explicit

    Public pri As Single

Private Sub Command1_Click()

    pri = 0.1

    Text1 = 1

    Text2.Text = CSng(Text1) * pri

End Sub

全世界最难学的语言 为什么说法文是全世界最美丽的语言 全世界最贵的鱼? 全世界最出名的音乐网站 全世界最帅的王子 全世界最伤感的歌曲 全世界最贵的车 全世界最有名的人最谁? 全世界最没用的人 全世界最凶的狗前十名有哪几种.