JS中的数字格式?

时间:2011-04-24 06:00:40

标签: javascript jquery

jQuery(function() {
jQuery( "#slider-range-min" ).slider({
    range: "min",
    value: 1,
    step: 1000,
    min: 100000,
    max: 3000000,
    slide: function( event, ui ) {
        jQuery( "#amount" ).val( "$" + ui.value );
    }
});
jQuery( "#amount" ).val( "$" + $( "#slider-range-min" ).slider( "value" ) );
});

我们页面上的字段“amount”用值填充,但我们希望此值的格式类似于PHP number_format(带逗号等)。

我将如何在javascript中执行此操作?

3 个答案:

答案 0 :(得分:2)

你可以使用两个原生的javascript函数。

<强> toPrecision()

var num = new Number(65.823474);
var result = num.toPrecision(2); // 65

<强> toFixed()

var num = new Number(65.823474);
var result = num.toFixed(2); // 65.82

但是,它不会添加(本地化)逗号。

你正在写的

Depending on the culture 应该替换/插入点和逗号。

答案 1 :(得分:0)

function addCommas(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;
}

参考:http://www.mredkj.com/javascript/numberFormat.html

答案 2 :(得分:0)

在这里,我发现了一个非常好的脚本来格式化javascript中的数字数据,google了一下。代码有点太大了,所以这里是作者文章的链接:

How to format numbers in JavaScript flexibly and efficiently

它唯一的用途是它使用原型,所以它不是“纯粹的”javascript ...希望你能用它!