【问题标题】:Separator numbers in jQuery [duplicate]jQuery中的分隔符数字[重复]
【发布时间】:2013-04-11 19:42:22
【问题描述】:

在 PHP 中我可以:

$number = 1234.56;
$nombre_format_francais = number_format($number, 2, '.', ' ');

这告诉我:

1 234.56

如何在 jQuery 中实现它?我想添加分隔符。

【问题讨论】:

标签: php javascript jquery html


【解决方案1】:

我进行了一些搜索,但由于没有内置方法,这真的是我能想到的全部:

创建号码

var num = 1234.56;

格式化小数位 - 只需要较长的小数...

var result = num.toFixed(2); 

添加空格

result = numberWithSpace(result);

function numberWithSpace(x) {
    return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, " ");
}

Working Fiddle

原函数见this answer

【讨论】:

    【解决方案2】:
    function addSpaces(nStr)
    {
        nStr += '';
        x = nStr.split('.');
        x1 = x[0];
        x2 = x.length > 1 ? '.' + x[1] : '';
        var rgx = /(\d+)(\d{3})/;
        while (rgx.test(x1)) {
            x1 = x1.replace(rgx, '$1' + ' ' + '$2');
        }
        return x1 + x2;
    }
    

    刚刚从here 拿来并改编它。

    【讨论】:

      【解决方案3】:

      jQuery库没有数字本地化功能,但是有Globalize.js,最初是作为jQuery的本地化插件开发的,后来改为独立库。它包括多种语言的预定义数字格式以及修改或添加它们的简单方法。

      使用 Globalize.js,您可以例如首先调用Globalize.culture('fr'),之后,Globalize.format(number) 将产生按照法国惯例格式化的数字。它将产生正确的格式,例如“1 234,56”(法语使用小数点逗号,而不是小数点)。

      还有其他类似用途的库。除其他外,它们之间的选择取决于您项目中的本地化范围——是数字格式本地化,还是更广泛的内容。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-10-25
        • 1970-01-01
        • 2020-10-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-11-06
        相关资源
        最近更新 更多