将拉丁数改为波斯数,并通过jQuery函数添加逗号

时间:2012-08-31 19:12:56

标签: javascript jquery

我想将拉丁数改为波斯数并添加逗号,但它对我来说不适用。我该怎么办?

Demo:
请参阅我的演示,输出为&#1,782;&#1,783;&#1,783;&#1,782;&#1,781;&#1,781;&#1,782;&#1,783;&#1,783;&#1,784;&#1,784;&#1,785;&#1,785;&#1,784;&#1,783;&#1,784;&#1,780;&#1,776;&#1,784;&#1,776;,而不是正确的数字。

function numentofa(n) {
var digits = [],
    r;
do {
    r = n % 10;
    n = (n - r) / 10;
    digits.unshift(['&#', r + 1776, ';'].join(''));
} while (n > 0);
return digits.join('');
}
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;
}
var oooook = addCommas(numentofa(67765567788998776676));
//$('.numbers').append(oooook);
    alert(oooook);​

1 个答案:

答案 0 :(得分:4)

不使用HTML字符代码,而是使用实际字符:

digits.unshift(String.fromCharCode(r+1776));

而不是对数字进行regexing而不是将其概括为任何非逗号字符:

var rgx = /([^,]+)([^,]{3})/;

Updated Fiddle