regex pour entier ou à virgule flottante nombre à deux décimales
Je veux valider mon champ de devise avec la regex. J'aimerais que le motif suivant entrées
1.23
1
.45
0.56
56.00
Pas de virgule devrait être autorisé. J'ai essayé \d+(\.\d\d)
mais il permet uniquement de première, quatrième et cinquième entrées. \d+(?:\.\d\d+)?
permet à tous mais troisième.
- Avez-vous essayé \d*(\.\d*) ?
- Pas de. Laissez-moi essayer.
- Comment sont les devises? Je ne vois que des flotteurs.
- Il ne permet
12
mais permet12.
- Vous êtes de droite. ils sont en fait de flotteurs. mais je veux t permettent seulement deux décimales ou de ces entrées qui correspondent au motif donné
- deux décimales ou plus de deux décimales (comme dans votre deuxième modèle)?
- pas de virgule ou deux décimales. Mais de toute façon, j'ai eu ma réponse. merci pour l'aide. 🙂
Vous devez vous connecter pour publier un commentaire.
Utilisation
\d*
au lieu de\d+
avant la décimale correspond à zéro ou plusieurs chiffres. Également ajouter des ancres (^
et$
) ou bien il va passer aussi longtemps qu'il est tout match disponible. Cela permettrait également de valider une chaîne vide, donc, si nécessaire, vous pouvez utiliser une anticipation s'assurer qu'il existe au moins un chiffre:1.254
et23.1
. Je veux permettent seulement deux décimales. Soit il n'y aura pas de décimales ou de seulement deux décimales\d+
est\d\d
Regexes pour les nombres à virgule flottante sont un problème résolu:
Pour au moins deux décimales:
Pour le rendre plus compréhensible:
Et pour exactement deux décimales:
En fonction de votre langue, n'oubliez pas de ancre l'expression qui doit correspondre à l'ensemble de la chaîne.