Kendo UI 数字格式无效的模板

Posted

技术标签:

【中文标题】Kendo UI 数字格式无效的模板【英文标题】:Kendo UI Number Formatting Invalid template 【发布时间】:2017-04-17 16:07:20 【问题描述】:

我正在使用 kendo ui,我尝试设置一个工具提示模板,如下所示:

tooltip.template = "#= series.name #: #= kendo.toString(value, 'n') # "

但像 527266 这样的数字显示如下:527.266,00

我怎样才能使它成为 527.266 ?

我试过作为测试:

tooltip.template = "#= series.name #: #= kendo.toString(value, '##,#') # "

这是文档中的一个示例,根据示例应该给出 527,266,但它捕获了 Invalid Template 的错误。

如何让数字 527266 看起来像 527.266

【问题讨论】:

【参考方案1】:

您可以使用(kendo.toString(527266 , 'n0') 隐藏十进制数字。由于它是特定于文化的,因此您需要包含特定于文化的 javascript 文件。

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8"/>
    <script src="http://code.jquery.com/jquery-1.12.4.min.js"></script>
    <script src="http://kendo.cdn.telerik.com/2016.3.1028/js/kendo.all.min.js"></script>
</head>
<body>
  <p>Input: 527266</p>
  <p>Output: <span id="result"></span></p>
<script src="http://kendo.cdn.telerik.com/2013.2.716/js/cultures/kendo.culture.de-DE.min.js"></script>
<script>
  kendo.culture("de-DE");
  $("#result").text(kendo.toString(527266 , 'n0')); // outputs "527.266"
</script>
</body>
</html>

【讨论】:

【参考方案2】:

我很高兴找不到另一种剑道格式的方法。到目前为止,我使用的唯一解决方法是:

template: "#= formatAmount(FundCurrency ,FundValue) #"

并在你的 Js 中创建一个函数。

function formatAmount(currency, amount) 
    if (amount) return currency + " " + kendo.toString(amount, "#,##0.00");
    return "";

所有这些麻烦只是因为格式中的#与特殊标签#= ...#冲突,除非你开始使用“\#,\#\#0.00”来格式化字符串,否则它不会起作用,我猜。

【讨论】:

【参考方案3】:

我遇到了和你一样的问题,虽然我想显示最多 6 位小数但不完整为 0,即:“123,123456”应该看起来像“123,123456”但“123,12”像“ 123,12",没有尾随 0。

如果你不想要小数位,那么你可以使用:

template: "#= kendo.format("0:n0", value) #

或者改变 n0 的 0 部分以添加固定的小数位。例如,对于 3 位小数,它将如下所示:

template: "#= kendo.format("0:n3", value) #

现在,如果你想要我需要的,即动态的小数位数,那么唯一的方法就是使用 js 函数:

template: "#= formatAmount(value) #

function formatAmount(amount) 
    return kendo.toString(amount, "#,###.######");

【讨论】:

以上是关于Kendo UI 数字格式无效的模板的主要内容,如果未能解决你的问题,请参考以下文章

Kendo UI Angular Grid NumberFormatOptions

带有模板的 Kendo UI 网格编号列不会过滤

kendo-ui图表的类别标签中的换行符

Kendo Grid 和 ui-sref 向上取整数字

Kendo MVC 网格数字文本框

kendo ui 网格数据源过滤器日期格式