哪个javascript函数类似于parsefloat,它将语言环境作为参数



问题:

我得到了这个输入:

"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()
        };

最新更新