2013-06-26 25 views

risposta

59

Come replace() crea/restituisce una nuova stringa piuttosto che modificare l'originale (tt), è necessario impostare la variabile (tt) uguale alla nuova stringa restituita dalla funzione replace.

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

JSFiddle

1

Per the docs, replace restituisce la nuova stringa - non modifica la stringa si passa.

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

non ha funzionato, l'uomo – Leo

+3

@Leo non effettivamente digitare i segni di omissione. – jbabey

4

Dopo aver sostituito il carattere, è necessario essere assegnati alla variabile.

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

Nella finestra di avviso lo farà spettacoli 88,9827

+0

grazie, anche, uomo!) – Leo

2

Dalla definizione della funzione (http://www.w3schools.com/jsref/jsref_replace.asp):

Il metodo replace() cerca una stringa di un valore specificato, o un espressione regolare e restituisce una nuova stringa in cui vengono sostituiti i valori specificati.

Questo metodo non modifica la stringa originale.

Quindi, la linea: tt.replace(/,/g, '.') non cambia il valore di tt; solo restituisce il nuovo valore.

è necessario sostituire questa linea con: tt = tt.replace(/,/g, '.')

-1

Questo avrà bisogno di nuova var ttfixed

Allora questo sotto lo slot del valore tt e sostituire tutti i puntatori in basso che sono tt al ttfixed

ttfixed = (tt.replace(",", ".")); 
+0

Si prega di prendere tempo per migliorare la formattazione della risposta. – Xan

+0

Le parentesi extra non sono necessarie e, poiché l'OP sperava di cambiare la variabile originale, non è necessario crearne una nuova. Inoltre, se ne creerai uno nuovo, dovresti aggiungere 'var' in primo piano per evitare di creare una var globale. – smerny

Problemi correlati