JavaScript:如何将包含逗号的输入从用户转换为数字?

JavaScript:如何将包含逗号的输入从用户转换为数字?,javascript,string-conversion,Javascript,String Conversion,当我在我的工资计算脚本中输入测试值(具体数字)时,它工作正常(例如10000)。但是当我输入一个带有逗号的测试值(比如“10000”或“$10000”)时,脚本会将值读取到逗号应该读取的位置(比如“10”而不是“10000”)。我将如何解决这个问题 var valueFromPrompt = window.prompt(...) var valueNowANumber = +valueFromPrompt.replace(/[^\d\.]/g, ''); 将所有非数字(模式/[^\d\.]/g

当我在我的工资计算脚本中输入测试值(具体数字)时,它工作正常(例如10000)。但是当我输入一个带有逗号的测试值(比如“10000”或“$10000”)时,脚本会将值读取到逗号应该读取的位置(比如“10”而不是“10000”)。我将如何解决这个问题

var valueFromPrompt = window.prompt(...)
var valueNowANumber = +valueFromPrompt.replace(/[^\d\.]/g, '');
将所有非数字(模式
/[^\d\.]/g
)替换为空白。前导的
+
将字符串转换为数字。转换空白字符串(因为原始字符串中没有数字)将使其成为
0


现在,这还不能涵盖数字的所有边缘情况,因此您可能需要调整模式。您可能需要阅读更多关于

的信息,我会挑剔地指出,这将把
$10.00
转换为
1000
,这可能会有问题。对于新手的问题,很抱歉,但会附加.replace(/[^\d\.]/g'))要结束保存该值的变量?@CaZ-yup.like`var-isNowANumber=+stringNumber.replace(…)@Joseph-the-Dreamer我应该更改存储值的方式吗?(例如:monthlySalesStr=window.prompt(“输入销售人员的月销售额”。,”);monthlySales=parseFloat(monthlySalesStr);返回monthlySales。替换(/[^\d\.]/g');@vihan1086:但我们想要的是“既不是数字也不是点”