我有字符串“722,311.75”,我想将其转换为722,311.75(钱币格式)。以下代码不起作用。
var str = "722,311.75";
var nr = parseFloat(str, 10).toFixed(2);
console.log(nr); // Returns 722.00
关于我如何做到这一点的任何想法?
答案 0 :(得分:6)
在将字符串传递给,
parseFloat
替换为字符串
如果字符串包含多个,
,您可以使用ragex删除,
的所有匹配项。
正则表达式/,/
将匹配字符串中的,
字面值,g
全局标记将使正则表达式匹配所有可能的字符串,即字符串中的所有,
var str = "1,722,311.75";
var nr = parseFloat(str.replace(/,/g, ''), 10).toFixed(2);
document.write(nr);

如果字符串只包含一个,
,您可以使用带有字符串的replace
从字符串中删除,
。
var str = "722,311.75";
var nr = parseFloat(str.replace(',', ''), 10).toFixed(2);
document.write(nr);

注意:replace(',', '')
只会删除第一次出现的,
。请参阅第一个正则表达式代码片段,它将替换所有出现的事件。