2013-06-26 40 views

回答

59

由于replace()创建/返回一个新的字符串,而不是修改原始(tt),你需要设置变量(tt)等于从replace函数返回的新字符串。

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

JSFiddle

1

the docsreplace返回新字符串 - 它不修改传递给它的字符串。

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

没有工作,男人 – Leo

+3

@Leo实际上没有键入插入符号。 – jbabey

4

替换字符后,您需要对变量进行赋值。

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

在警告框,它会显示88.9827

+0

谢谢,还有,男人!) – Leo

2

从函数的定义(http://www.w3schools.com/jsref/jsref_replace.asp):

的replace()方法搜索字符串为指定的值,或 正则表达式,并返回一个新字符串,其中指定的 值将被替换。

此方法不会更改原始字符串。

因此,行:tt.replace(/,/g, '.')不改变的tt值;它只是返回的新值。

您需要替换此行:tt = tt.replace(/,/g, '.')

-1

这将需要新的变种ttfixed

那么这个下tt值插槽,并替换下面的所有指针ttttfixed

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

请花时间改进您的答案的格式。 – Xan

+0

额外的括号是不必要的,因为OP希望改变原始的var,所以不需要创建一个新的。另外,如果你要创建一个新的,你应该在前面添加'var'来避免创建一个全局变量。 – smerny