问题:
我得到了这个输入:
"23,234.34"
使用以下语言环境, locale =“us-US”
我想要这个结果:{var。
中的23234.34
所以我使用parseFloat但是这个函数不将locale作为参数, 当我使用字符串“23,234.34”时,函数返回不是数字(NAN)。
if ($('input#feesamount').val() != '') {
$funding = {
feeAmount: parseFloat($('input#feesamount').val()),
acquirerregistrationid: $('input#registerid').val(),
acquirer: $('select#acquirer').val()
};
你知道一个可以帮助我的功能吗?
答案 0 :(得分:1)
如果您只处理美国格式,则可以使用string.replace(/,/g, '')
。否则,您要使用此库:http://numeraljs.com/
答案 1 :(得分:0)
您可以编写自己的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
答案 2 :(得分:0)
尝试更换','用'(空字符串)
if ($('input#feesamount').val() != '') {
$funding = {
feeAmount: parseFloat(($('input#feesamount').val()).replace(/,/g,'')),
acquirerregistrationid: $('input#registerid').val(),
acquirer: $('select#acquirer').val()
};