Was ist ein regulärer Ausdruck, der für C # geeignet ist, der eine Zahl validiert, wenn sie mit der folgenden übereinstimmt?
%Vor%
Oder die negativen Äquivalente?
Sie können csmbas Regex verwenden, wenn Sie eine geringfügige Änderung daran vornehmen.
%Vor%Ich denke, ssg hat Recht. Es ist nicht wirklich eine gute Anwendung von Regex, vor allem, wenn Ihre Software mit nicht-US-zentrischer Dateneingabe zu tun hat.
Zum Beispiel, wenn das Währungssymbol der Euro ist, oder der japanische Yen oder das britische Pfund eines der anderen Dutzend Währungssymbole da draußen?
Was ist mit Zahlenformatierungsregeln?
In den USA würden Sie 1,000,000.00
eingeben, aber in Frankreich sollte dies 1.000.000,00
sein. Andere Länder erlauben den Abstand zwischen Zifferngruppierung ...
Wenn Sie einen direkten Regex verwenden, ohne die Kultur zu berücksichtigen, werden Sie niemals erfolgreich validieren, es sei denn, Sie sind hundertprozentig sicher, dass Ihre Software niemals in einem nicht-US-zentrischen Kontext verwendet wird.
>Seien Sie vorsichtig mit Schwimmern. Schließlich werden Sie einen Fall wie 0,01 als 0,00999999 dargestellt. Strings oder Ganzzahlen sind besser zu verwenden.
Verwenden Sie diesen regulären Ausdruck für die US-Währung \ $ (\ d) * \ d Entspricht 300 $, 12900 $ Non-Match $ 12900.00