以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  问个愚蠢的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=97896)

--  作者:goldenfont
--  发布时间:2017/3/20 18:28:00
--  问个愚蠢的问题
我有一个textbox用来输入某个数值的位数,如何判断这个位数最大的值?
比如说,我输入一个3,代表我要知道3位数的最大数为999,输入一个4,代表最大数为9999,以此类推,咋写?

--  作者:goldenfont
--  发布时间:2017/3/20 18:39:00
--  
追加一个问题:

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

--  作者:有点色
--  发布时间:2017/3/20 19:06:00
--  

参考

 

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


--  作者:goldenfont
--  发布时间:2017/3/20 19:23:00
--  
可以的,这个问题解决了,那么第一个问题怎么做呢?

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

--  作者:goldenfont
--  发布时间:2017/3/20 19:35:00
--  
比如说,我输入一个3,代表我要知道3位数的最大数为999,输入一个4,代表最大数为9999,以此类推,咋写?

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

--  作者:vbmic
--  发布时间: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
--  发布时间:2017/3/20 20:27:00
--  
不知道FT是否有类似VB的产生字符串string函数。如果有,代码更简洁。
--  作者:vbmic
--  发布时间:2017/3/20 20:38:00
--  
我看明白了。
Dim s1 As String 
s1="".PadLeft(Cint(e.Form.Controls("TextBox1").Text ), "9")
msgbox(s1)

--  作者:有点蓝
--  发布时间:2017/3/20 20:50:00
--  
回4楼

Dim n As Integer = 8

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