Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jQuery或JS在印度数字中添加逗号_Javascript_Jquery_Numbers - Fatal编程技术网

Javascript 使用jQuery或JS在印度数字中添加逗号

Javascript 使用jQuery或JS在印度数字中添加逗号,javascript,jquery,numbers,Javascript,Jquery,Numbers,我使用d3可视化数据,并使用此函数将数字从阿拉伯数字转换为印度数字(1>١) 所以请帮忙 您可以先在阿拉伯数字中添加逗号,然后再转换为印度数字 我在你的JSfiddle里试过,效果很好。更新arNum函数,如下所示: function arNum(numb){ var str = numb.toString(); while (/(\d+)(\d{3})/.test(str.toString())){ str = str.toString().repla

我使用d3可视化数据,并使用此函数将数字从阿拉伯数字转换为印度数字(1>١)


所以请帮忙

您可以先在阿拉伯数字中添加逗号,然后再转换为印度数字

我在你的JSfiddle里试过,效果很好。更新arNum函数,如下所示:

function arNum(numb){
    var str     = numb.toString();

    while (/(\d+)(\d{3})/.test(str.toString())){
        str = str.toString().replace(/(\d+)(\d{3})/, '$1'+','+'$2');
    }

    var arabic  = {"0" : '٠', "1": '١',"2": '٢',"3": '٣',"4": '٤',"5": '٥',"6": '٦',"7": '٧',"8": '٨',"9": '٩'};
   var chars   = str.split("");
    var newnum  = new Array();

    for (var i = 0; i < chars.length; i++) {
        if(chars[i] == ",") newnum[i] = ",";
        else
        newnum[i] = arabic[ chars[i] ];
    }

    return newnum.join("");
}
函数arNum(numb){
var str=numb.toString();
while(/(\d+)(\d{3})/.test(str.toString()){
str=str.toString();
}
阿拉伯语变体={“0”:“٠”,“1”:“١”,“2”:“٢”,“3”:“٣”,“4”:“٤”,“5”:“٥”,“6”:“٦”,“7”:“٧”,“8”:“٨”,“9”:“٩”};
var chars=str.split(“”);
var newnum=新数组();
对于(变量i=0;i
您可以根据需要使用此功能或此功能的ragex:

Number.prototype.NumberFormat = function (decimals, decPoint, thousandsSep) {
    decPoint = typeof decPoint !== 'undefined' ? decPoint : '.';
    thousandsSep = typeof thousandsSep !== 'undefined' ? thousandsSep : ',';

    var parts = this.toFixed(decimals).toString().split('.');
    parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, thousandsSep);

    return parts.join(decPoint);
};

Just call 

val = val.toString().NumberFormat(2);
我试着在这里用,但没用!?所以我删除了它,但是如果你能在这里实现它,我将非常感谢你。d值是实数,然后我使用arNum()函数对它进行了转换,非常感谢你的帮助
function arNum(numb){
    var str     = numb.toString();

    while (/(\d+)(\d{3})/.test(str.toString())){
        str = str.toString().replace(/(\d+)(\d{3})/, '$1'+','+'$2');
    }

    var arabic  = {"0" : '٠', "1": '١',"2": '٢',"3": '٣',"4": '٤',"5": '٥',"6": '٦',"7": '٧',"8": '٨',"9": '٩'};
   var chars   = str.split("");
    var newnum  = new Array();

    for (var i = 0; i < chars.length; i++) {
        if(chars[i] == ",") newnum[i] = ",";
        else
        newnum[i] = arabic[ chars[i] ];
    }

    return newnum.join("");
}
Number.prototype.NumberFormat = function (decimals, decPoint, thousandsSep) {
    decPoint = typeof decPoint !== 'undefined' ? decPoint : '.';
    thousandsSep = typeof thousandsSep !== 'undefined' ? thousandsSep : ',';

    var parts = this.toFixed(decimals).toString().split('.');
    parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, thousandsSep);

    return parts.join(decPoint);
};

Just call 

val = val.toString().NumberFormat(2);