web-dev-qa-db-fra.com

Comment remplacer une virgule par un point dans le nombre (ou tout remplacement)

Je n'ai pas encore trouvé de solution, pour le remplacer, par un point.

var tt="88,9827";
tt.replace(/,/g, '.')
alert(tt)

//88,9827

j'essaie de remplacer une virgule par un point

merci d'avance

37
Leo

Comme replace() crée/retourne une nouvelle chaîne plutôt que de modifier l'original (tt), vous devez définir la variable (tt) égale à la nouvelle chaîne renvoyée par le replace fonction.

tt = tt.replace(/,/g, '.')

JSFiddle

80
Dallas

Vous pouvez aussi le faire comme ça:

var tt="88,9827";
tt=tt.replace(",", ".");
alert(tt);

exemple de violon en cours

9
Mikey

Après avoir remplacé le caractère, vous devez être associé à la variable.

var tt = "88,9827";
tt = tt.replace(/,/g, '.')
alert(tt)

Dans la boîte d’alerte, il apparaît 88.9827

4

De la définition de la fonction ( http://www.w3schools.com/jsref/jsref_replace.asp ):

La méthode replace () recherche dans une chaîne une valeur spécifiée ou une expression régulière et renvoie une nouvelle chaîne dans laquelle les valeurs spécifiées sont remplacées.

Cette méthode ne modifie pas la chaîne d'origine.

Par conséquent, la ligne: tt.replace(/,/g, '.') ne modifie pas la valeur de tt; c'est juste retourne la nouvelle valeur.

Vous devez remplacer cette ligne par: tt = tt.replace(/,/g, '.')

2
Tom Lord

Per les docs , replace renvoie la nouvelle chaîne - elle ne modifie pas la chaîne que vous lui transmettez.

var tt="88,9827";
tt = tt.replace(/,/g, '.');
^^^^
alert(tt);
1
jbabey