Len返回的字符数错误



我是VB的新手,有一个简单的程序。我只想让程序在一个消息框中显示一个长变量中的字符数。我正在使用Len()函数。代码如下。

        Try
        Dim num As Long = 1230456985623145
        Dim numLength As Long
        numLength = Len(num)
        MessageBox.Show(numLength.ToString())
    Catch ex As Exception
    End Try

很简单。然而,当我运行该函数时,它返回的值是8,而不是实际值。有人能告诉我我做错了什么吗。我需要添加任何其他内容来获得正确的值

应该是这样的:

Dim num As Long = 1230456985623145
Dim numLength As Long
numLength = Len(num.ToString())
MessageBox.Show(numLength.ToString())

如果忘记使用ToString(),Len函数会返回存储变量所需的字节数,即8,因为Long变量需要8个字节才能存储。

MSDN中Len函数的定义:

返回一个整数,该整数包含字符串或存储变量所需的标称字节数。

在原始代码中(编辑前):

在Len函数中使用"名称"作为参数。由于您的代码是WinForm,因此Name是Form的属性。请使用检查Name的值

MessageBox.Show(Name)

字符串长度

更可取的做法是使用字符串的Length属性。正如Adrian Wragg所说,在.Net支持的语言(C#、VB和F#)之间转换代码更容易。

最新更新