Foxtable(狐表)用户栏目专家坐堂 → 问个愚蠢的问题


  共有1567人关注过本帖树形打印复制链接

主题:问个愚蠢的问题

帅哥哟,离线,有人找我吗?
goldenfont
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:389 积分:3874 威望:0 精华:0 注册:2016/4/25 17:36:00
问个愚蠢的问题  发帖心情 Post By:2017/3/20 18:28:00 [只看该作者]

我有一个textbox用来输入某个数值的位数,如何判断这个位数最大的值?
比如说,我输入一个3,代表我要知道3位数的最大数为999,输入一个4,代表最大数为9999,以此类推,咋写?

 回到顶部
帅哥哟,离线,有人找我吗?
goldenfont
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:389 积分:3874 威望:0 精华:0 注册:2016/4/25 17:36:00
  发帖心情 Post By:2017/3/20 18:39:00 [只看该作者]

追加一个问题:

如果得到了最大的数值,我要从0-max的格式都用Format(i,"000")来表示,4位数就用Format(i,"0000")来表示,这个0000的格式怎么写?这2个问题用case语句都能做到,但是有点傻,有更好的办法吗?

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/20 19:06:00 [只看该作者]

参考

 

Dim s1 As String = "".PadLeft(3, "0")
msgbox(s1)


 回到顶部
帅哥哟,离线,有人找我吗?
goldenfont
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:389 积分:3874 威望:0 精华:0 注册:2016/4/25 17:36:00
  发帖心情 Post By:2017/3/20 19:23:00 [只看该作者]

可以的,这个问题解决了,那么第一个问题怎么做呢?

比如说,我输入一个3,代表我要知道3位数的最大数为999,输入一个4,代表最大数为9999,以此类推,咋写?

 回到顶部
帅哥哟,离线,有人找我吗?
goldenfont
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:389 积分:3874 威望:0 精华:0 注册:2016/4/25 17:36:00
  发帖心情 Post By:2017/3/20 19:35:00 [只看该作者]

比如说,我输入一个3,代表我要知道3位数的最大数为999,输入一个4,代表最大数为9999,以此类推,咋写?

刚才想到了一个办法,根据输入数字几,循环出几个9,凑成字符然后转换成数值,这样的思路可行否?咋感觉有点恶心呢图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
vbmic
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:140 积分:1646 威望:0 精华:0 注册:2012/1/7 16:23:00
  发帖心情 Post By:2017/3/20 20:25:00 [只看该作者]

窗口上添加一个Text控件,用于输入


窗口1_Button1_Click

 

Dim s As String

s=Functions.Execute("strNum",Cint(e.Form.Controls("TextBox1").Text ))

MessageBox.Show(s)

 

自定义函数

 

strNum

 

Dim n As Integer = Args(0)

Dim strNum As String

For i As Integer = 1 To n

    strNum &="9"

Next

Return strNum


 回到顶部
帅哥哟,离线,有人找我吗?
vbmic
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:140 积分:1646 威望:0 精华:0 注册:2012/1/7 16:23:00
  发帖心情 Post By:2017/3/20 20:27:00 [只看该作者]

不知道FT是否有类似VB的产生字符串string函数。如果有,代码更简洁。

 回到顶部
帅哥哟,离线,有人找我吗?
vbmic
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:140 积分:1646 威望:0 精华:0 注册:2012/1/7 16:23:00
  发帖心情 Post By:2017/3/20 20:38:00 [只看该作者]

我看明白了。
Dim s1 As String 
s1="".PadLeft(Cint(e.Form.Controls("TextBox1").Text ), "9")
msgbox(s1)

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107813 积分:548416 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/3/20 20:50:00 [只看该作者]

回4楼

Dim n As Integer = 8

Output.Show("9".PadRight(n,"9"))
[此贴子已经被作者于2017/3/20 20:51:45编辑过]

 回到顶部