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

use*_*742 4 vbscript

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

说字符串可以是000000000000512或者0000040000000
我只想要来自该字符串的整数值即; 512/4000000
请在VB脚本中帮助解决这个问题

mor*_*olo 8

CInt("000000000000512")
Run Code Online (Sandbox Code Playgroud)

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

如果你希望有一个大数字,请使用Clng,正如评论中已经指出的那样:

Clng("000000004000512")
Run Code Online (Sandbox Code Playgroud)

否则你会有溢出,因为变体的子类型int在vbscript中是16位

  • 并且`CInt("0000040000000")`会导致**溢出**错误......那么,`CLng()`会是更好的选择吗? (3认同)

Uri*_*zen 5

即使有一个疯狂的长数字,这也能工作

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")
Run Code Online (Sandbox Code Playgroud)