Как бы вы связали Math.abs и toLocaleString () вместе в одной строке? - PullRequest
1 голос
/ 17 апреля 2019

У меня есть некоторые данные в виде большого числа, и Я хочу, чтобы значение было абсолютным , а я хочу, чтобы значение имело запятые.

Я работаю с Kendo UI, который делает kendo.toString(), но, насколько я могу судить, форматирование в основном то же самое, что и .toLocaleString.Kendo использует шаблоны для отображения результатов данных, как показано ниже.

Фрагмент JS:

function createWOffChart(payload, stdYAxis) {
        let i = Math.abs(payload[0].woffamt.toFixed(2));
        let j = Math.abs(payload[0].wuwdamt.toFixed(2));
        let k = Number(i) + Number(j);
        let total = k.toLocaleString();

        $("div[report='woff']").kendoChart({
            dataSource: {
                data: payload
                // template: "#= kendo.toString(value/1000000) #"
            },
            legend: {
                visible: true
            },
            schema: {
                data: "value"
            },
            seriesDefaults: {
                type: "column",
                stack: true
            },
            chartArea: {
                width: 260,
                height: 350
            },
            series: [{
                name: "WOffAmt",
                field: "woffamt", // req
                color: "#4dc3a1",
                template: "#= Math.abs(value) #"
            }, {
                name: "WUWDAmt",
                field: "wuwdamt", // req
                color: "#5d5348",
                template: "#= Math.abs(value) #"
                // template: 
            }],
            valueAxis: {
                labels: {
                    visible: true,
                    template: "#= Math.abs(kendo.toString(value/1000000)) #" // ------ this did not work
                },
                reverse: true // orients chart right side up
            },
            tooltip: {
                visible: true,
                template: "#= series.name #: #= Math.abs(value) #" // ------ this is where I want the chaining to happen
            }
        });
        console.log(payload);
        console.log(kendo.toString(payload[0].wuwdamt));
    }

1 Ответ

2 голосов
/ 17 апреля 2019

Похоже, вам нужно сначала получить абсолютное значение, а затем использовать метод toString.

kendo.toString(Math.abs(value / 1000000))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...