剑道格式字符串放文字'?'在错误的地方

Kendo format string puts literal '?' in the wrong place

本文关键字:错误 文字 格式 字符串      更新时间:2023-09-26

我们允许用户指定自定义符号作为他们在我们的软件中看到的数字格式的一部分。我们正在使用Kendo的格式化功能来合并这些符号作为我们格式字符串的一部分。例如,我们可能有这样的格式字符串:

var format = "''$0.00''/''h''r;(''$0.00''/''h''r)";
kendo.toString(-1.7, format); // ($1.70/hr)

注意使用反斜杠来转义格式字符串中的文字字符。除了使用?字符外,这似乎工作得很好。下面是一个例子:

var format = "''?''x0";
kendo.toString(100, format); // returns "x?100", but I would expect "?x100"

这是怎么回事?这是剑道的bug还是期望的行为?

如果有人偶然发现这个问题,在Telerik论坛上有一个关于它的讨论,我认为OP打开了。这导致在github上打开了一个问题。


(编辑:]
github bug打开时显示如下信息:

错误报告
剑道格式字符串不放文字'?在正确的地方。这并不是在所有情况下都能观察到的。转义还是不转义?’在某些情况下不会改变结果。

问题重现
可以在以下Dojo中观察到这个问题:http://dojo.telerik.com/avUne


浏览器:

自2016年10月18日起,直到输入这些单词时,没有更新。