如何从字符串中删除前导零

问题描述 投票:0回答:10

我必须从字符串中提取整数值。
它实际上是一个金额字段。

说字符串可以是

000000000000512
0000040000000

我只想要该字符串中的整数值,即; 512/ 40000000
请在 VB 脚本编写中帮忙解决这个问题

vbscript
10个回答
11
投票
CInt("000000000000512")

参见转换函数:http://msdn.microsoft.com/en-us/library/s2dy91zy.aspx

如果您希望有大量数字,请使用 Clng,正如评论中已经指出的:

Clng("000000004000512")

否则你会遇到溢出,因为 vbscript 中变量的子类型 int 是 16 位


6
投票

即使数字非常长,这也能工作

Function RemoveLeadingZeroes(ByVal str)
Dim tempStr
tempStr = str
While Left(tempStr,1) = "0" AND tempStr <> ""
    tempStr = Right(tempStr,Len(tempStr)-1)
Wend
RemoveLeadingZeroes = tempStr
End Function

strNewFileName = RemoveLeadingZeroes("0009283479283749823749872392384")

4
投票

我以前用过这种技术:

  • 用空格替换零
  • 左侧装饰
  • 用零替换空格

Replace(LTrim(Replace(str, "0", " ")), " ", "0")

注意,如果 str 中有有意义的空格,则此方法不起作用。


3
投票

使用数字的绝对值。

http://ss64.com/vb/abs.html

Var = ABS(Var)

1
投票
Function TrimLeadingZeros(value)
    TrimLeadingZeros = value    
    while left(TrimLeadingZeros, 1) = "0" and TrimLeadingZeros <> "0"
        TrimLeadingZeros = mid(TrimLeadingZeros, 2)
    wend
End Function

Function TrimLeadingZeros(value)
    dim i
    i = 1
    while i < len(value) and mid(value,i,1) = "0"
        i = i + 1
    wend
    
    TrimLeadingZeros = mid(value, i)
End Function


1
投票

使用正则表达式:

Regex.Replace("000000000000512", "^0+", "") ' returns "512"
Regex.Replace("0000040000000", "^0+", "") ' returns "40000000"

1
投票

如果您的字符串包含数字和字符,请使用 Do While 语句:

string = "00000456ABC"

Do While Left(string, 1) = "0"
     string = Right(string, (Len(string)-1))
Loop

0
投票

不幸的是,这个解决方案似乎不起作用:

string = "00000456ABC"
Do While Left(string, 1) = "0"
string = Right(string, (Len(string)-1))
Loop

这个,工作:

    Do
string = Strings.Right(string, (Len(string) - 1))
Loop Until Strings.Left(string, 1) <> "0"
TextBox11.Text = string

0
投票

format(myString,"0") 就可以了

示例A: 调试。?格式(“00000000000000000”,“0”) 0

示例B: 调试。?格式(“00000001234567890”,“0”) 1234567890


-1
投票
Function TrimLZ(str)  
   If Left(str, 1) = "0" Then
      TrimLZ = TrimLZ(Mid(str, 2, Len(str)))
   Else
      TrimLZ = str
   End If
End Function
© www.soinside.com 2019 - 2024. All rights reserved.