我想将拉丁数改为波斯数并添加逗号,但它对我来说不适用。我该怎么办?
Demo:
请参阅我的演示,输出为,782;,783;,783;,782;,781;,781;,782;,783;,783;,784;,784;,785;,785;,784;,783;,784;,780;,776;,784;,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);
答案 0 :(得分:4)
不使用HTML字符代码,而是使用实际字符:
digits.unshift(String.fromCharCode(r+1776));
而不是对数字进行regexing而不是将其概括为任何非逗号字符:
var rgx = /([^,]+)([^,]{3})/;