【发布时间】:2023-03-11 07:17:02
【问题描述】:
我正在尝试让 parseFloat 将 userInput (prompt) 转换为数字。
例如:
var userInput = prompt("A number","5,000")
function parse_float(number) {
return parseFloat(number)
}
当userInput = 5,000,parse_Float(userInput) 返回5。
但是,如果用户正在输入一个值来更改其他内容(即:进行银行存款或取款),那么我要正常工作,parse.Float(userInput) 需要返回5000,而不是5。
如果有人能告诉我如何做到这一点,那将对我帮助很大。提前致谢。
【问题讨论】:
-
这听起来可能很愚蠢,但你为什么不用简单的 str.replace 去掉逗号呢?
-
就像@Bonatoc 说的-
parseInt("5,100".replace(",","")); -
请注意,如果您的应用需要 i18n,则分号(小数点)因国家/地区而异:wikiwand.com/en/Decimal_mark#/Examples_of_use
-
replace(/,/g, ''): Why does javascript replace only first instance when using replace? -
@wyattbergeron1 是的,这是 javascript,它只替换了第一次出现,这里是如何为所有人做的:
"567,763,321".replace(/,/g,"");
标签: javascript function parsefloat