Javascript y轴上的美元符号,带ChartJS

Javascript y轴上的美元符号,带ChartJS,javascript,chart.js,Javascript,Chart.js,my Chart.js图表Y轴上的标签前面应该有一个美元符号,因为它们是金钱的价值 此代码在文档中,但不适用于我 var chart = new Chart(ctx, { type: 'line', data: data, options: { scales: { yAxes: [{ ticks: { // Include a dollar sign in th

my Chart.js图表Y轴上的标签前面应该有一个美元符号,因为它们是金钱的价值

此代码在文档中,但不适用于我

var chart = new Chart(ctx, {
    type: 'line',
    data: data,
    options: {
        scales: {
            yAxes: [{
                ticks: {
                    // Include a dollar sign in the ticks
                    callback: function(value, index, values) {
                        return '$' + value;
                    }
                }
            }]
        }
    }
});
这是我的结果Before'不带此代码,after'带此代码。 显然,这不仅仅是在值之前添加一个
$
,还发生了其他事情


知道如何解决这个问题吗?

这里的问题是chart.js不会将字符串舍入,因为它不应该为您这样做

当您将字符串附加到数字时,JavaScript将为您转换它,您无法控制精度

您可以使用来解决您的问题:

// Define wherever decimals:
const decimals = 3;
// ...
var chart = new Chart(ctx, {
    type: 'line',
    data: data,
    options: {
        scales: {
            yAxes: [{
                ticks: {
                    // Include a dollar sign in the ticks
                    callback: function(value, index, values) {
                        return '$' + value.toFixed(decimals);
                    }
                }
            }]
        }
    }
});

只是四舍五入的价值!同意,但有时它应该四舍五入到小数点后4位,有时是千位。是的,但每次加载图表时,变量小数点都会发生变化。这是动态数据。@yoeriboven每次需要更改要显示的小数量时只需更改
decimals
。@yoeriboven不知道您是否投了反对票,但您希望得到什么样的答案
Chart.js
不会神奇地对字符串中的数字进行四舍五入…你必须在没有回调函数的情况下完成这项工作吗?如果答案是否定的,请说明原因?