Highcharts numberFormat返回零

时间:2013-12-16 09:07:05

标签: javascript highcharts

我正在使用Highcharts并注意到,当图表的值非常接近零时,它会将y轴标签或工具提示值格式化为“-0.00”。

我试过这段代码:

Highcharts.numberFormat(-0.00002,2)

并返回“-0.00”。它应该是“0.00”。

我尝试用numberFormat封装Highcharts.wrap函数来捕获这个案例但是没有成功,我的包装器没有被执行。这是我的代码:

$(document).ready(function () {
    (function (H) {
        H.wrap(H, 'numberFormat', function (proceed, number, decimals, decPoint, thousandsSep) {
            var originalResult = proceed.call(number, decimals, decPoint, thousandsSep);
            var result = originalResult.isMinusZero() ? originalResult.cutMinusSign() : originalResult;
            return result;
        });
    }(Highcharts));
});

任何人都可以找到我的错误或提供其他解决方案吗?

1 个答案:

答案 0 :(得分:2)

wrap使用原型中的方法正常工作,尝试以这种方式覆盖numberFormat:

(function (H) {
    var proceed = H.numberFormat;
    H.numberFormat = function (number, decimals, decPoint, thousandsSep) {
        var originalResult = proceed(number, decimals, decPoint, thousandsSep);
        var result = originalResult.isMinusZero() ? originalResult.cutMinusSign() : originalResult;
        return result;
    };
}(Highcharts));

Highcharts.numberFormat(-0.002, 4);

现场演示:http://jsfiddle.net/3bQne/765/