Len返回的字符数错误

时间:2015-11-11 16:45:27

标签: vb.net

我是VB的新手,有一个简单的程序。我只是希望程序在消息框中显示一个long变量中的字符数。我正在使用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而不是实际值。任何人都可以告诉我我做错了什么。我是否需要添加任何其他内容才能获得正确的值

1 个答案:

答案 0 :(得分:5)

应该是这样的:

Dim num As Long = 1230456985623145
Dim numLength As Long

numLength = Len(num.ToString())
MessageBox.Show(numLength.ToString())

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

MSDN中Len function的定义:

  

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

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

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

MessageBox.Show(Name)

<强> string.length减

更优选使用字符串的Length属性。就像Adrian Wragg所说的那样,在.Net(C#,VB和F#)支持的语言之间转换代码更容易。