如何用逗号将数字更改为$? Chart.js

时间:2019-01-17 08:51:44

标签: javascript chart.js

我希望能够用逗号将数字转换为美元。例如,将10000变成$ 10,000。

我想要1)工具提示编号和2)xAxis值。

这里是到目前为止的图形链接:

https://codepen.io/JamesDraper/pen/PXgLre 要么 https://syncfiddle.net/fiddle/-LWPx0qe1VWChvodRlGC

编辑:我已经用用户建议的代码更新了链接。

此图非常大,其中包含约50个小时的法律研究。

var myChart = new Chart(ctx, {
          type: 'horizontalBar',
          data: {
            labels: years,
            datasets: [
              {
                data: number,
                label: "Amount of Compensation",
                fill: true,
                backgroundColor: 'rgba(83, 19, 30, 1)',
              },
            ]
          },
          options: {
            scales: {
                yAxes: [{
                    ticks: {
                        fontSize: 9,
                      }
                    }],
                xAxes: [{
                   ticks: {
                       // Include a dollar sign in the ticks
                       callback: function(value, index, values) {
                           return '$' + value;
                       }
                   },
               }],
            }
        },
    });

1 个答案:

答案 0 :(得分:4)

您可以这样使用JS的format方法:

const amount = 10000;
const options2 = { style: 'currency', currency: 'USD' };
const numberFormat2 = new Intl.NumberFormat('en-US', options2);

console.log(numberFormat2.format(amount));
// expected output: "$10,000"

Here are docs about this

这里是我的更新指南,您只需在全局变量中声明2个变量

const options2 = { style: 'currency', currency: 'USD', minimumFractionDigits: 0 };
const numberFormat2 = new Intl.NumberFormat('en-US', options2);

并将“ return'$” +值替换为此:

return numberFormat2.format(value.toFixed(0).replace(/\.0+$/, ""));