如何用数字中的点替换逗号(或任何替换)[重复]

问题描述 投票:0回答:6

我还没有找到用点替换

,
的解决方案。

我当前的代码:

var tt="88,9827";
tt.replace(/,/g, '.')
console.log(tt)
//expected 88.9827
//returns 88,9827

javascript regex replace jscript
6个回答
125
投票

由于

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

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

JSFiddle


21
投票

你也可以这样做:

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

工作小提琴示例


5
投票

替换完字符后,需要赋值给变量。

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

在警报框中将显示 88.9827


3
投票

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

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

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

因此,行:

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

您需要将此行替换为:

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


1
投票

根据文档replace

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

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

1
投票
这需要新的变量

ttfixed



然后将其置于

tt

 值槽下,并将其下方的所有指针替换为 
tt
ttfixed


ttfixed = (tt.replace(",", "."));
    
© www.soinside.com 2019 - 2024. All rights reserved.