哪个javascript函数像parsefloat那样将locale作为参数?

时间:2014-10-17 09:51:16

标签: javascript

问题:

我得到了这个输入:

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

你知道一个可以帮助我的功能吗?

3 个答案:

答案 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

DEMO

答案 2 :(得分:0)

尝试更换','用'(空字符串)

if ($('input#feesamount').val() != '') {
        $funding = {
          feeAmount: parseFloat(($('input#feesamount').val()).replace(/,/g,'')),
          acquirerregistrationid: $('input#registerid').val(),
          acquirer: $('select#acquirer').val()
        };