Javascript 点击事件获取NaN

Javascript 点击事件获取NaN,javascript,Javascript,我有一个简单地添加字段2和3的脚本,但因为我已将数字格式化为货币($x,xxx.xx),所以字段1返回NaN。在进行计算之前,是否可以从数字中去除$符号?我假设逗号和句点不会引起相同的问题 onclick="document.getElementById('field1').value = (Math.round((parseFloat(document.getElementById('field2').value,2)*100))/100 + Math.round((parseFloat(do

我有一个简单地添加字段2和3的脚本,但因为我已将数字格式化为货币(
$x,xxx.xx
),所以字段1返回
NaN
。在进行计算之前,是否可以从数字中去除
$
符号?我假设逗号和句点不会引起相同的问题

onclick="document.getElementById('field1').value = (Math.round((parseFloat(document.getElementById('field2').value,2)*100))/100 + Math.round((parseFloat(document.getElementById('field3').value,2)*100))/100).toFixed(2);"  
在单击“计算”按钮之前,我正在格式化要添加的数字,包括:


在进行计算之前,只需删除所有非点/数字

var currency = "$2,358.88";
var number = Number(currency.replace(/[^0-9.]+/g,""));

我假设逗号和句点不会引起相同的问题。它们是:
+“1234.50”->NaN
tl;dr:变量包含一个字符串
“$123456.78”
;我如何从中获取一个数字
123456.78
?为什么不首先简单地添加它们呢?您认为逗号没有引起问题的假设是错误的-parseFloat(“100340.00”)给出100。
不必在字符类中转义。很好的捕获Felix。。。删除它。因此,我的文字更改将是…var currency1='field2';var number=number(currency1.replace(/[^0-9.]+/g,”);var currency2='field2';变量编号=编号(currency2.replace(/[^0-9.]+/g,”);我应该把代码放在哪里?在“onclick”事件或主JScript部分中。谢谢你们的帮助。所以我的想法和正确的是不同的-仍然得到一个NaN…我正在尝试。。。。变量编号=编号(货币替换(/[^0-9.]+/g,“”);onclick=“document.getElementById('actualshoppercost').value=(Math.round((parseFloat(document.getElementById('urbackyardcommission').value,2)*100))/100+Math.round((parseFloat(document.getElementById('merchantearning').value,2)*100))/100)。toFixed(2);”
var currency = "$2,358.88";
var number = Number(currency.replace(/[^0-9.]+/g,""));