Сетка кендо Форматировать номер с пробелом в качестве разделителя тысяч и двумя десятичными знаками - PullRequest
0 голосов
/ 26 апреля 2018

Мне нужно отформатировать числа в столбце с пробелом в качестве разделителя тысяч и с двумя десятичными знаками. Например: 125895456,8942 -> 125 895 456,89

 columns: [
      {
            field: "sumStartDebit",
            title: "Debit",
            width: "130px",
            template: function (dataItem) {
                if (dataItem.sumStartDebit == 0) { return "" }
                else if (dataItem.sumStartDebit < 0) { return "<span style='color:red'>" + dataItem.sumStartDebit + "</span>" }
                else { return "<span>" + dataItem.sumStartDebit + "</span>" }
                    },
            locked: true,
             },
          ]

Что я могу достичь без культуры? У меня есть функция, которая работает для разделителя тысяч, но не для моего состояния двух десятичных знаков

function numberWithSpaces(x) {
            return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, " ");
        }

1 Ответ

0 голосов
/ 26 апреля 2018

Что по этому поводу:

function numberWithSpaces(x) {
        return kendo.toString(x, "##,#.##").replace(/,/g, " ")
}

Вы форматируете свою строку с помощью обычного десятичного разделителя в вашей культуре (в данном случае "," для en-US), а затем заменяете его пробелом с помощью регулярных выражений. Для «12345678.0394» вы получите «12 345 678,04»

Вы также можете вставить это в свой шаблон:

template: '#= kendo.toString(sumStartDebit, "##,#.##").replace(/,/g, " ")#'
...