2

在 PHP 中,我可以:

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

这告诉我:

1 234.56

我怎样才能在 jQuery 中实现它?我想添加分隔符。

4

3 回答 3

1

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

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

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

于 2013-04-18T17:06:34.577 回答
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, " ");
}

工作小提琴

有关原始功能,请参见此答案

于 2013-04-18T15:39:58.537 回答
1
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;
}

只是从这里拿来并改编它。

于 2013-04-18T15:40:02.167 回答