2

10進数入力の正規表現が必要です。これは、小数点またはコンマの前に4桁、小数点/コンマの後に2桁を使用できます。小数なしの5桁の数字は無効です。nullも受け入れることができます。

正しい値は次のとおりです。

1、1111、2222.56、0.99、9999.5

無効

88888、8.888、

検証ショーには、小数とともにコンマも含まれます。

可能であれば、式も説明してください。

4

5 に答える 5

13
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)
于 2012-07-11T11:58:38.883 に答える
3
^-?(0|[1-9]\d{0,3})([,\.]\d{1,2})?$

カンマの前:

^-文字列の先頭

-?-負の符号が0または1つある可能性があります

0-小数は最初に単一のゼロのみで始まる場合があります...

| - また ...

[1-9]-1から9までの任意の数字

\d{0,3}-その後に任意の3桁

カンマ後:

[、。]-「、」または「。」が存在する場合があります。

\d{1,2}-1桁または2桁が続く

(...)?-ゼロまたは1回

$-文字列の終わり

于 2015-02-18T21:12:09.993 に答える
1
[0-9]{1,4}(\.[0-9]{1,2})?

これは、1〜4桁、およびオプションで小数点と1〜2桁の両方を意味します。

于 2012-07-11T11:50:29.477 に答える
0

この正規表現\d{4}[,\.]\d{2} または\d+([,\.]\d+)?任意の小数に使用します

于 2012-07-11T11:52:42.067 に答える
0

次のコードを使用して、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
于 2014-01-18T07:00:52.973 に答える