Highcharts numberFormat返回负零

Highcharts numberFormat returns minus zero

本文关键字:返回 numberFormat Highcharts      更新时间:2023-09-26

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

我试过这个代码:

Highcharts.numberFormat(-0.00002,2)

并且它返回"-0.00"。它应该是"0.00"。

我尝试用Highcharts.wrap包装numberFormat函数来捕捉这种情况,但没有成功,我的包装器没有执行。这是我的代码:

$(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));
});

有人能发现我的错误,或者提供其他解决方案吗?

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/