2017-09-11 4 views
3

私はChart.jsを使用しています。 My Sample Graphこのチャートにカンマを追加する方法js

千を示すために、これらの値にコンマを付ける必要があります。例:千

animation: { 
    duration: 500, 
    easing: "easeOutQuart", 
    onComplete: function (label) { 
     var ctx = this.chart.ctx; 
     ctx.font = Chart.helpers.fontString(Chart.defaults.global.defaultFontFamily, 'normal', Chart.defaults.global.defaultFontFamily); 
     ctx.textAlign = 'center'; 
     ctx.textBaseline = 'bottom'; 
     this.data.datasets.filter(dataset => !dataset._meta[Object.keys(dataset._meta)[0]].hidden).forEach(function (dataset) { 
      for (var i = 0; i < dataset.data.length; i++) { 
       var model = dataset._meta[Object.keys(dataset._meta)[0]].data[i]._model,     
        scale_max = dataset._meta[Object.keys(dataset._meta)[0]].data[i]._yScale.maxHeight; 
            ctx.fillStyle = '#000'; 
       var y_pos = model.y - 5; 
       // Make sure data value does not get overflown and hidden 
       // when the bar's value is too close to max value of scale 
       // Note: The y value is reverse, it counts from top down 
       if ((scale_max - model.y)/scale_max >= 0.70) 
        y_pos = model.y + 20; 
       ctx.fillText(dataset.data[i], model.x, y_pos); 

      } 
     }); 

    } 
} 

これは、これらの値を表示するためのコードであり、私はこのコードの塊内にある必要があり、これらのカンマを添付するコードを考えています。

このフォーラムからこのコードを取得するだけです。だから私は何が起こっているのか分からない。 How to display Values above bars

答えて

5

この機能を使用します。

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; 
} 

以下のSO答えにあります。

SO Answer

デモ:

JSFiddle Demo

6

あなたがこのタイプの問題のためにtoLocaleString()を使用することができます。

続きを読む

のために、このリンク toLocateStringを使用
関連する問題