RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 598092
Accepted
Nikolay Baranenko
Nikolay Baranenko
Asked:2020-12-01 17:37:39 +0000 UTC2020-12-01 17:37:39 +0000 UTC 2020-12-01 17:37:39 +0000 UTC

为什么图形在四舍五入后停止显示?

  • 772

你好。

我正在为 KPI 图表准备一个数据数组

数据准备功能

function culcJson() {
            var jsonObj = ${json_text};
            var newJSON=[];
var KPI=[];
                var jsonResult = [];
                var a = 0;
                do {
                    var value=jsonObj.SucceededCount[a].SucceededCount_MEAS_VALUE/(jsonObj.SucceededCount[a].SucceededCount_MEAS_VALUE+jsonObj.FailedCount[a].FailedCount_MEAS_VALUE)*100;
                    KPI.push(value);
                    a += 1;
                } while (a < jsonObj.FailedCount.length)
                return KPI;
            }

对于我使用的图形部分

$(function () {
                var KPI=[];
                var jsonObj = ${json_text};
                if (jsonObj!=null){KPI=culcJson();}

                $('#container4').highcharts({
                    chart: {
                        zoomType: 'x'
                    },
                    title: {
                        text: '${TITLE}'
                    },
                    xAxis: {
                        categories: [<c:forEach var="row" items="${SCRIPT_FailedCount.rows}">"${row.DATE__CURRENT__CHECK}",</c:forEach>]
                    },
                    yAxis: {
                        title: {
                            text: ''
                        }
                    },
                    plotOptions: {
                        area: {
                            fillColor: {
                                linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1},
                                stops: [
                                    [0, Highcharts.getOptions().colors[0]],
                                    [1, Highcharts.Color(Highcharts.getOptions().colors[0]).setOpacity(0).get('rgba')]
                                ]
                            },
                            marker: {
                                radius: 2
                            },
                            lineWidth: 1,
                            states: {
                                hover: {
                                    lineWidth: 1
                                }
                            },
                            threshold: null
                        }
                    },

                    series: [
                        {
                            name: 'KPI',
                            data: KPI
                        }
                    ]
                });
            });

如果你保持原样,那么一切都很好。显示了图形,但我想将 KPI 值的小数位数减少到 2。简单固定(2)

KPI.push(value.toFixed(2));

之后,图形不再显示。

控制台中没有错误。

可能是什么问题以及如何解决?

javascript
  • 1 1 个回答
  • 10 Views

1 个回答

  • Voted
  1. Best Answer
    Утка Учится Укрываться
    2020-12-01T19:51:49Z2020-12-01T19:51:49Z

    问题是该方法toFixed返回一个字符串,而不是一个数字。

    var myNumber = 3.14159;
    typeof(myNumber.toFixed(2)); // string
    

    显然,组件级别的逆向类型转换没有进行,或者说歪了。

    该怎么办?
    一)。不使用 toFixed,而是使用 Math.round 舍入到所需的精度。这是最正确的方法。toFixed 在某些情况下在数学上是错误的。 就像是:

    var roundedNumber = Math.round(myNumber * 100) / 100;
    

    Math.round 舍入一个整数,所以我们乘以除以 10*(正确的位数)。

    2). 但是如果我们不怕最后一个符号+-1出错,那么我们可以使用toFixed,只需要将toFixed的结果转换为一个数字即可。

    var roundedNumber = +myNumber.toFixed(2);
    

    或者

    var roundedNumber = parseFloat(myNumber.toFixed(2));
    
    • 0

相关问题

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    如何停止编写糟糕的代码?

    • 3 个回答
  • Marko Smith

    onCreateView 方法重构

    • 1 个回答
  • Marko Smith

    通用还是非通用

    • 2 个回答
  • Marko Smith

    如何访问 jQuery 中的列

    • 1 个回答
  • Marko Smith

    *.tga 文件的组重命名(3620 个)

    • 1 个回答
  • Marko Smith

    内存分配列表C#

    • 1 个回答
  • Marko Smith

    常规赛适度贪婪

    • 1 个回答
  • Marko Smith

    如何制作自己的自动完成/自动更正?

    • 1 个回答
  • Marko Smith

    选择斐波那契数列

    • 2 个回答
  • Marko Smith

    所有 API 版本中的通用权限代码

    • 2 个回答
  • Martin Hope
    jfs *(星号)和 ** 双星号在 Python 中是什么意思? 2020-11-23 05:07:40 +0000 UTC
  • Martin Hope
    hwak 哪个孩子调用了父母的静态方法?还是不可能完成的任务? 2020-11-18 16:30:55 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    user207618 Codegolf——组合选择算法的实现 2020-10-23 18:46:29 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    Arch ArrayList 与 LinkedList 的区别? 2020-09-20 02:42:49 +0000 UTC
  • Martin Hope
    iluxa1810 哪个更正确使用:if () 或 try-catch? 2020-08-23 18:56:13 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5