53

我还没有找到用点替换 , 的解决方案。

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

//88,9827

我正在尝试将逗号替换为点

提前致谢

4

6 回答 6

110

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

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

JSFiddle

于 2013-06-26T12:37:06.283 回答
16

你也可以这样做:

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

工作小提琴示例

于 2014-07-22T10:31:53.377 回答
5

替换字符后,您需要分配给变量。

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

在警告框中,它将显示88.9827

于 2013-06-26T12:37:46.323 回答
3

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

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

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

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

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

于 2013-06-26T12:47:32.437 回答
1

根据文档replace返回新字符串 - 它不会修改您传递的字符串。

var tt="88,9827";
tt = tt.replace(/,/g, '.');
^^^^
alert(tt);
于 2013-06-26T12:37:35.417 回答
1

这将需要新的 varttfixed

然后在值槽下并替换下面的tt所有指针ttttfixed

ttfixed = (tt.replace(",", "."));
于 2014-11-05T13:50:19.483 回答