问题:
我得到了这个输入:
"23,234.34"
对于以下区域设置,locale="us us"
我想要这个结果:数字变量中的23234.34
所以我使用parseFloat,但这个函数不使用区域设置作为参数,当我使用字符串"23234.34"时,函数返回Not a number(NAN)。
if ($('input#feesamount').val() != '') {
$funding = {
feeAmount: parseFloat($('input#feesamount').val()),
acquirerregistrationid: $('input#registerid').val(),
acquirer: $('select#acquirer').val()
};
你认识一个能帮我的人吗?
如果您只处理US格式,则可以使用string.replace(/,/g, '')
。否则,您希望使用此库:http://numeraljs.com/
您可以编写自己的代码,使用switch
根据区域设置处理价格/费用,并返回浮点值。
var price = '23,234.34';
var locale = 'us-US';
function parsePrice(price, locale) {
switch (locale) {
case 'us-US':
price = price.replace(',', '');
break;
}
return parseFloat(price);
}
parsePrice(price, locale); // 23234.34
DEMO
尝试将","替换为"(空字符串)
if ($('input#feesamount').val() != '') {
$funding = {
feeAmount: parseFloat(($('input#feesamount').val()).replace(/,/g,'')),
acquirerregistrationid: $('input#registerid').val(),
acquirer: $('select#acquirer').val()
};