我有字符串“722,311.75”,我想将其转换为数字722,311.75(货币格式)。以下代码不起作用。将字符串转换为货币格式的数字JavaScript
var str = "722,311.75";
var nr = parseFloat(str, 10).toFixed(2);
console.log(nr); // Returns 722.00
的我怎么能做到这一点任何想法?
我有字符串“722,311.75”,我想将其转换为数字722,311.75(货币格式)。以下代码不起作用。将字符串转换为货币格式的数字JavaScript
var str = "722,311.75";
var nr = parseFloat(str, 10).toFixed(2);
console.log(nr); // Returns 722.00
的我怎么能做到这一点任何想法?
的字符串传递给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(',', '')
将删除的,
只有第一次出现。查看正则表达式方法的第一个代码片段,它将替换所有的事件。
只是使用'parseFloat(str.replace(/ [,]/g,“”));' –
“722,311.75”不是有效的数字表示。 'parseFloat'只会看到第一个数字(722),并忽略逗号后的任何内容。另外,在JavaScript中,thre不是一个“货币格式”数字。该数字将为722311.75,然后您可以提供插入逗号的修改后的toString函数。 – Touffy
其他重复:http://stackoverflow.com/questions/4083372/in-javascript-jquery-what-is-the-best-way-to-convert-a-number-with-a-comma-int,和几个其他。 –