如何从vb6中的整数值中删除最后一个字符

How to remove the last character from integer value in vb6

你好,我正在尝试制作一个代码,从整数示例中删除最后一位数字

int num = 1234

成为

int num 123

我在 C# 中编写了相同的代码,但我在 vb6 上执行失败,这是 C# 代码。

num = num.Remove(num.length -1)

在 vb6 上我试过这样的东西

num = Len(num) -1 

但它所做的只是来自

num = 1234

成功了

num = 1233

或者只显示

num = 3 

因为删除了第 4 个数字

你走在正确的道路上。缺少的关键步骤是在操作之前将数字转换为字符串。

Option Explicit

Private Sub Command1_Click()
   Dim num As Integer
   Dim s As String
   
   num = 1234
   s = CStr(num)              'convert number to a string
   s = Left(s, Len(s) - 1)    'remove last digit
   num = CInt(s)              'convert string back to a number
   
   Debug.Print num
End Sub

您的代码中的错误是对整数使用 Len。来自文档:

Returns a Long containing the number of characters in a string or the number of bytes required to store a variable.

您可以简单地将您的数字除以 10:

Function TrimInteger(number As Integer) As Integer
    TrimInteger = Int(number / 10)
End Function

Int用于去除除法结果的小数部分和return得到的整数值。

您还可以将 number 和函数的 return 类型声明为 Long 而不是 Integer 以支持更大的数字:

Function TrimNumber(number As Long) As Long
    TrimNumber = Int(number / 10)
End Function