编程论坛
注册
登录
编程论坛
→
VB6论坛
我是小白,求大佬解释下
zwh412821
发布于 2019-03-25 23:00, 2514 次点击
1.设计一个窗体,在文本框中输入一个三位正整数,求这个三位正整数N的十位数;窗体设计如图所示:
运行运行如下图所示:
只有本站会员才能查看附件,请
登录
运行如下图所示:
只有本站会员才能查看附件,请
登录
这个代码怎么编
[此贴子已经被作者于2019-3-25 23:02编辑过]
5 回复
#2
yingshu
2019-03-26 09:59
简单的一个思路
因为在计算过程中,很多情况下都会有小数点,所以第一步,就是根据自身定义的小数点位数乘以相应的整数,比如100,1000,10000.换算成整数。并赋值给变量
第二步,用MID函数取数,就能满足你的需要
#3
风吹过b
2019-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
风吹过b
2019-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
zwh412821
2019-03-26 16:32
回复 2楼 yingshu
好的,谢谢啦
#6
zwh412821
2019-03-26 16:32
回复 3楼 风吹过b
好的,谢谢了
1