我想要一個十進制輸入的正則表達式,它可以在十進制或逗號之前佔用四位數,在十進制/逗號之後可以佔用兩位數。沒有小數的5位數字無效。也可以接受null。十進制值的正則表達式
正確價值觀可以是:
1,1111,2222.56,0.99,9999.5間
無效
88888,8.888,
驗證表明還包括逗號和小數點。
如果可能,那麼也解釋表達式。
我想要一個十進制輸入的正則表達式,它可以在十進制或逗號之前佔用四位數,在十進制/逗號之後可以佔用兩位數。沒有小數的5位數字無效。也可以接受null。十進制值的正則表達式
正確價值觀可以是:
1,1111,2222.56,0.99,9999.5間
無效
88888,8.888,
驗證表明還包括逗號和小數點。
如果可能,那麼也解釋表達式。
Regex.IsMatch(strInput, @"[\d]{1,4}([.,][\d]{1,2})?");
,並解釋:
[\d]{1,4} any character of: digits (0-9) between 1 and 4 times
[.,] any character of: '.', ','
[\d]{1,2} any character of: digits (0-9) between 1 and 2 times
(...)? match the expression or not (zero or one)
你匹配2222y56 – 2012-07-11 11:59:18
謝謝,它的工作。是否有可能爲你解釋正則表達式。我想知道關於每一個描述。 – Maverick 2012-07-11 12:06:30
使用這個表達式\d{4}[,\.]\d{2}
或\d+([,\.]\d+)?
任何小數
我們可以檢查Stirng值做代碼通過下面的代碼
Dim Success As Boolean
If text.Contains(".") Then
Dim result As Integer = Split(text, ".")(1)
If result > 0 Then
Success = True 'Containing Decimal Points greater than
Else
Success = False 'Containing "0" as Decimal Points
End If
End If
Return Success
含有小數點
這個問題被標記爲'C#'。這是基本? – mhlester 2014-01-18 07:17:56
^-?(0|[1-9]\d{0,3})([,\.]\d{1,2})?$
BEFORE逗號:
^- - 字符串
的開始? - 有可能是零或一個負號
0 - 十進制可能開始與一開始只有一個零...
| - 或...
[1-9] - 具有1任何數字至9
\ d {0,3} - 後跟任何3位數字
AFTER COMMA:
[,。] - 可能有「,」或「。」
\ d {1,2} - 隨後用1個或2位數字
(...)? - 零個或一次
$ - 字符串的結束
已經回答:http://stackoverflow.com/questions/968825/regular-expression-for-decimal-number – 2012-07-11 11:47:49