drno-reg
@drno-reg
см не кратко

Почему после округления перестал отображаться график?

Готовлю массив данных для графика 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
                        }
                    ]
                });
            });


Если оставить в таком виде как указано выше, то все OK.
График отображается, НО мне захотелось уменьшить до 2-х количество знаков после запятой у значений KPI.
простым toFixed(2)

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

после этого график перестал отображаться.

В чем может быть проблема и как ее решить?
  • Вопрос задан
  • 181 просмотр
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
toFixed() возвращает не число, а строку.
v = 5;
v = v.toFixed(2);
console.log(typeof v);
>> string

Хотите получить число - добавьте приведение типа (+ перед значением)
v = 5;
v = +v.toFixed(2);
console.log(typeof v);
>> number
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы