我需要格式化列中的数字,其中空格为千位分隔符,并带有两个小数位。例如: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, " ");
}
答案 0 :(得分:2)
这个怎么样:
function numberWithSpaces(x) {
return kendo.toString(x, "##,#.##").replace(/,/g, " ")
}
使用文化中常用的十进制分隔符格式化字符串(在本例中为“ - ”表示en-US),然后使用正则表达式将其替换为空格。 对于“12345678.0394”,您将获得“12 345 678.04”
您也可以在模板中内嵌此内容:
template: '#= kendo.toString(sumStartDebit, "##,#.##").replace(/,/g, " ")#'