VB.NET中的Val()函数如何工作?

时间:2015-03-19 14:34:14

标签: vb.net sorting

我在VB.NET中有一项目前正在坚持的任务。会喜欢一些帮助。

问题是:你在一个文本框中输入随机字符,例如12ab3c4d5efgh,点击一个按钮,它必须将文本框中的字符分成两个单独的标签,具体取决于&#39 ;字符'是一个数字或字母。因此,继续这个例子,Label1必须显示' 12345'和标签2必须显示' abcdefgh'。我希望自己足够清楚。

我被要求使用Val()函数,但我真的不知道。有人可以帮忙吗? :d

2 个答案:

答案 0 :(得分:2)

这会创建一个带有数字的字符串和一个带有字母的字符串。忽略不是数字或字母的字符。

Dim chars As String = "12ab3c4d5efgh"
Dim nums As String = chars.Where(Function(c) Char.IsDigit(c)).ToArray 
Dim lets As String = chars.Where(Function(c) Char.IsLetter(c)).ToArray 

答案 1 :(得分:0)

如果必须使用Val()这样的话。但请注意:Val("0")也会返回0

Dim numbers As String = String.Empty
Dim letters As String = String.Empty
Dim sourceString As String = "12ab3c4d50efgh"

For Each c As Char In sourceString
    If Val(c) = 0 And c <> "0" Then letters &= c Else numbers &= c
Next

Console.WriteLine("Numbers: " & numbers)
Console.WriteLine("Letters: " & letters)
Console.ReadKey()