vb 啦~这段里哪有问题啊?

来源:百度知道 编辑:UC知道 时间:2024/05/05 17:56:03
Private Sub Form_Click()
Dim x % , Ten %, Hundred %
x = Val(Text1.Text)
Ten = (x / 10) Mod 10
Hundred = x / 100
Print "百位数是:" & Hundred
Print "十位数是:" & Ten
Print "个位数是:" & x Mod 10
End Sub

Dim x % , Ten %, Hundred %
变量与%号之间不要有空格
Dim x% , Ten%, Hundred%

加个 textbox 控件
在 textbox 中输入三位数字
点击窗体 输出结果

测试过了 ~ 代码是对的

Private Sub Form_Click()
Dim x % , Ten %, Hundred %
x = Val(Text1.Text)
Ten = int(x / 10) Mod 10
Hundred = int(x / 100 ) mod 10
Print "百位数是:" & Hundred
Print "十位数是:" & Ten
Print "个位数是:" & x Mod 10
End Sub

你的问题:
一、VB中/是求商,会四舍五入,\也是求商,但只要整数部分,小数点后的数字舍去,你应该用\不要用/。

二、你计算百、十、个的代码有问题。

(x / 100)是用浮点 就是double类型计算,计算结果也是浮点,这样就在结构有浮点进行Int转换的时候会进行小数的四舍五入的计算方法,这样就照成了结果的出入。
你可以先算出个位,然后减去个位数,再算十位数,这样会让个位数为0,是/的结果保持小数为0,这样不会存在五入的情况。

/ MSDN中部分说明:
用来进行两个数的除法运算并返回一个浮点数。

语法

result = number1/number2

/ 运算符的语法具有以下几个部分:

部分 描述
result 必需的;任何数值变量。
number1 必需的;任何数值表达式。
number2 必需的;任何数值表达式。

说明

result 的数据类型通常是 Double 或 Double 变体。