Remplacer une virgule par un point  (Lu 288 fois) Partager ce sujet Imprimer

1 B


gwenicrocket  10 décembre 2020 : 09:17

Bonjour,

Voilà j’ai un petit souci j’ai des champs où la personne doit rentrer des valeurs numériques.
Ces valeurs peuvent être en décimal. Je voudrais que le test soit toujours bon si la personne met un point ou une virgule.
Pour cela il faut que la virgule soit transformée en point.  J’ai trouvé ceci  :

nb = nb.replace(',', '.');
 
mais je n’arrive pas à l’intéger dans ce code pour que cela fonctionne,
 
if(event.value>=250) event.target.textColor = color.blue;
else event.target.textColor = color.red;
 
ou dans un code ou il y aurait un calcul en fonction de la valeur rentrée, par exemple :
 
if (event.value>((140.1 - ((this.getField("Texte_31").value*0.18)))/10)-0.3) event.target.textColor = color.blue;
else event.target.textColor = color.red;

IP archivée


Merlin  10 décembre 2020 : 10:45

Bonjour

Pourquoi ne pas utiliser un format "Nombre" ? Ce serait plus simple.
Si on choisi un format avec virgule, l'utilisateur ne peut pas saisir de point et vice-versa.

IP archivée


gwenicrocket  10 décembre 2020 : 11:21

Bonjour merlin
Merci pour ta réponse rapide


C'est ce que J ai fait en attendant mais j'aimerai avoir ce codage quand même pour savoir aussi comment utiliser "replace" avec ce type de code




IP archivée


bebarth  10 décembre 2020 : 12:04

bonjour,
nb = nb.replace(',', '.');
Normalement ça devrait marcher !
Si dans la console tu as un message "nb.replace is not a function", c'est que nb est un nombre et non une chaîne de caractères. Tu n'as donc pas à remplacer la virgule par un point.
Personnellement, j'écris toujours var xxx=xxx.replace(/a/,"b") pour remplacer le premier "a" par "b" ou var xxx=xxx.replace(/a/g,"b") pour tous les remplacer ou encore var xxx=xxx.replace(/a/gi,"b") pour que la recherche ne soit pas sensible à la casse (cf. https://www.w3schools.com/jsref/jsref_replace.asp).
@+
 :bonjour:

IP archivée


Merlin  10 décembre 2020 : 13:28

c'est que nb est un nombre et non une chaîne de caractères

Auquel cas il faudrait ajouter :

nb = nb.toString();
nb = nb.replace(',', '.');

IP archivée


bebarth  10 décembre 2020 : 13:39

Non, parce que si nb est un nombre, le séparateur est forcément un point !
@+
 :bonjour:

IP archivée


gwenicrocket  14 décembre 2020 : 18:46

merci a vous,désolé de ne répondre que maintenant je vais essayé et je reviens vers vous au cas ou :bonjour: .par contre j'ai un autre soucis, mais je vais rouvrir une discussion à ce propos.

IP archivée