2014-02-25 122 views
2

我必須從字符串中提取整數值。
它其實是一個金額字段。如何從字符串中刪除前導零號

說的字符串可以是0000000000005120000040000000
我只想要這個字符串的整數值,即;四千萬分之五百一十二
請幫助這個在VB腳本

回答

6
CInt("000000000000512") 

見轉換功能:http://msdn.microsoft.com/en-us/library/s2dy91zy.aspx

使用CLNG如果你希望有大量的留言,當中如已經指出:

Clng("000000004000512") 

否則你會有溢出,因爲變體的子類型int是16位的vbscript

+0

你的代碼'CINT( '000000000000512')'已經語法錯誤...你不能用'。''(單引號)爲VBscript中的字符串文字。 ''''(單引號)用於評論 –

+0

你是對的,編輯我的回答 – morepaolo

+3

而'CInt(「0000040000000」)'會導致** Overflow **錯誤...因此,將CLng()更好的選擇? –

-1
Function TrimLZ(str) 
    If Left(str, 1) = "0" Then 
     TrimLZ = TrimLZ(Mid(str, 2, Len(str))) 
    Else 
     TrimLZ = str 
    End If 
End Function 
0

使用數字的絕對值。

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

Var = ABS(Var) 
+0

這可能工作時,數字預計只是積極的。從負數修剪前導0時會給出錯誤的答案。 – Elsa

4

這將瘋狂長的數字甚至工作

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")