注册 登录
编程论坛 VB6论坛

我是小白,求大佬解释下

zwh412821 发布于 2019-03-25 23:00, 2514 次点击
1.设计一个窗体,在文本框中输入一个三位正整数,求这个三位正整数N的十位数;窗体设计如图所示:
 

运行运行如下图所示:
只有本站会员才能查看附件,请 登录

运行如下图所示:
只有本站会员才能查看附件,请 登录

这个代码怎么编

[此贴子已经被作者于2019-3-25 23:02编辑过]

5 回复
#2
yingshu2019-03-26 09:59
简单的一个思路
因为在计算过程中,很多情况下都会有小数点,所以第一步,就是根据自身定义的小数点位数乘以相应的整数,比如100,1000,10000.换算成整数。并赋值给变量
第二步,用MID函数取数,就能满足你的需要
#3
风吹过b2019-03-26 12:48
Left(Right(CStr(Int(Text1.Text)), 2), 1)

如 text1.text=462.462
Int(Text1.Text)      取整,干掉小数位,防止干扰,得到 462
CStr(Int(Text1.Text))    转为字符串,cstr 国际化,不需要国际化,可以使用 str函数
Right(CStr(Int(Text1.Text)), 2)   取右边2个字符,这里得到 62
Left(Right(CStr(Int(Text1.Text)), 2), 1)   取左边1个字符,从上面 62 得到十位的字符 6




#4
风吹过b2019-03-26 13:09
right(cstr(int(text1.text /10)),1)

text1.text /10 缩小10倍,原10位变个位了。  得到 46.2462
int(text1.text /10)  取整,到得 46
cstr 参看上面。
right 从右边取一个字符,得到  6

这二句,都可以处理浮点数,所以你的三位正整数是没问题的。

-------------
如果输入的能确保是三位正整数
使用MID函数更快
mid(cstr(text1.text),3,1)

cstr(text1.text)  转出来字符串,不包含符号位,所以3位正整数得到的是 3个字符,与FOAMAT函数相同。
如果使用 str 函数,包含符号位,3位正整数得到的是 4个字符,那么十位就是从第3个字符开始。
mid( ,2,1 )  从第2位开始取,取1个字符。


#5
zwh4128212019-03-26 16:32
回复 2楼 yingshu
好的,谢谢啦
#6
zwh4128212019-03-26 16:32
回复 3楼 风吹过b
好的,谢谢了
1