Javascript 使parseFloat将带有逗号的变量转换为数字
我试图让parseFloat将Javascript 使parseFloat将带有逗号的变量转换为数字,javascript,function,parsefloat,Javascript,Function,Parsefloat,我试图让parseFloat将用户输入(提示符)转换为数字 例如: var userInput = prompt("A number","5,000") function parse_float(number) { return parseFloat(number) } 当userInput=5000时,parse_Float(userInput)返回5 但是,如果用户输入一个值以更改其他内容(即:进行银行存款或取款),则我需要正常工作,parse.Float(userInput)需
用户输入
(提示符
)转换为数字
例如:
var userInput = prompt("A number","5,000")
function parse_float(number) {
return parseFloat(number)
}
当userInput=5000
时,parse_Float(userInput)
返回5
但是,如果用户输入一个值以更改其他内容(即:进行银行存款或取款),则我需要正常工作,parse.Float(userInput)
需要返回5000
,而不是5
。
如果有人能告诉我怎么做,我会帮上大忙的。提前感谢。我将评论中的信息汇总在一起,形成一个基本答案: 答案似乎只是将parse_float设置为运行:
number.replace(/,/g, "")
return parseFloat(number)
完整的代码如下所示:
var userInput = prompt("A number","523,000,321,312,321")
function parse_float(number) {
number.replace(/,/g, "")
return parseFloat(number)
}
返回:
52300032112321
我已将评论中的信息整合在一起,形成基本答案:
答案似乎只是将parse_float设置为运行:
number.replace(/,/g, "")
return parseFloat(number)
完整的代码如下所示:
var userInput = prompt("A number","523,000,321,312,321")
function parse_float(number) {
number.replace(/,/g, "")
return parseFloat(number)
}
返回:
52300032112321
您的答案很接近,但不完全正确
不更改原始字符串;它创建了一个新的。因此,您需要创建一个变量来保存新字符串,并对其调用parseFloat
以下是固定代码:
function parseFloatIgnoreCommas(number) {
var numberNoCommas = number.replace(/,/g, '');
return parseFloat(numberNoCommas);
}
我还将函数重命名为
parseFloatIgnoreCommas
,这更好地描述了它的功能。您的答案很接近,但不完全正确
不更改原始字符串;它创建了一个新的。因此,您需要创建一个变量来保存新字符串,并对其调用parseFloat
以下是固定代码:
function parseFloatIgnoreCommas(number) {
var numberNoCommas = number.replace(/,/g, '');
return parseFloat(numberNoCommas);
}
我还将函数重命名为
parseFloatIgnoreCommas
,这更好地描述了它的功能。这是我用来从表单中删除用户输入的数字的函数。它可以处理用户输入的任何数字,比如$,或者只是不小心碰到了一个键
我从一个对象中复制了以下内容:
cleanInput : function(userValue){
//clean the user input and scrub out non numerals
var cleanValue = parseFloat(userValue.replace(/[^0-9\.]+/g,""));
return cleanValue;
},
要使其成为非对象,只需将第一行更改为
cleanInput(){..
,这是我用来从表单中删除用户输入的数字的函数。它可以处理用户输入的任何数字,如$,或只是意外地按了键
我从一个对象中复制了以下内容:
cleanInput : function(userValue){
//clean the user input and scrub out non numerals
var cleanValue = parseFloat(userValue.replace(/[^0-9\.]+/g,""));
return cleanValue;
},
要使其成为非对象,只需将第一行更改为
cleanInput(){..
,这听起来可能很愚蠢,但为什么不用简单的str.replace去掉逗号呢?就像@Bonatoc所说的-parseInt(“5100.replace”(,“,”);
如果你的应用程序需要i18n,美分的小数点,请小心点)各国不同:replace(/,/g,”)
:@wyattbergeron1是的,这是javascript它只替换了第一次出现的内容,下面是所有人的操作方法:“567763321”。replace(/,/g,”);
这听起来可能很愚蠢,但为什么不用一个简单的str.replace去掉逗号呢?就像@Bonatoc说的那样-parseInt(“5100”.replace(“,”,”);
不过要小心,如果你的应用程序需要i18n,那么每一个国家的美分(小数点)都不同:replace(/,/g),”)
:@wyattbergeron1是的,它只会替换第一次出现的代码,下面是如何做到这一点:“567763321”.replace(/,/g,”)
不起作用,它给了我js default的第一个实例。如果你找到修复方法,请编辑这个并/或告诉我。谢谢!哎哟,我不小心试图解析原始字符串而不是新字符串。代码现在应该可以工作了。不起作用,它给了我js default的第一个实例。如果你找到修复方法,ed它可以这样做和/或告诉我。谢谢!哎呀,我不小心试图解析原始字符串而不是新字符串。代码现在应该可以工作了。