Kendo UI数字格式无效的模板

时间:2016-12-02 17:02:41

标签: kendo-ui number-formatting

我正在使用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,但是它警告了无效模板的错误。

如何将数字527266看作527.266

2 个答案:

答案 0 :(得分:2)

您可以使用(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>

答案 1 :(得分:0)

我很难找到另一种剑道格式的方法。我现在使用的唯一解决方法是:

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

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

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

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