1

尝试将 % 符号添加到 Kendo NumericTextBox 中的数字。他们建议这样转义 % 符号:

$("#numeric").kendoNumericTextBox({
    format: "# \%"
});

但是当我给它一个 3 的值时,它仍然给我 300%!

从剑道文档:

"%" - 百分比占位符 将一个数字乘以 100 并在结果字符串中插入一个本地化的百分比符号。注意:'%' 符号被解释为格式字符串中的格式说明符。如果您需要防止这种情况发生,您需要在 '%' 符号前加上一个反斜杠 - 'kendo.toString(12, "# \%")'-> 12 % (en-us)。

4

4 回答 4

5

我在 .cshtml 文件中的网格列中工作,对我来说,以下工作:

  Format("{0:#.## \\'%'}");

注意 % 符号周围的两个单引号。

于 2015-05-06T11:55:31.593 回答
4

你看到这个论坛帖子了吗?看起来你需要用两个斜线来逃避它......

http://jsbin.com/aruqeh/1/

于 2013-01-02T23:10:07.123 回答
4
$("#numeric").kendoNumericTextBox({
  format: "# \\%"
});
于 2013-07-17T20:23:45.260 回答
0

作为此处其他答案的补充,我想补充一点,如果您使用带有 ASP.NET Razor 视图语法的 Kendo UI,并且您的格式字符串必须从输入标签本身传入,您将需要将 Kendo UI 格式字符串转换为字符串文字,否则 JavaScript 最终会转义您的转义字符。例如,在我现在正在处理的应用程序中,我们有一个自定义数据字段,用于 html 助手用来创建 Kendo NumericTextBox 的格式。

例子:

<input data-custformat="##.##\\%" value="12"/>

无法正确呈现格式。输出看起来像 1200\%,因为双反斜杠被转义为单反斜杠,并且该字段保持默认的 Kendo 百分比行为,即将该字段的值乘以 100。

然而,

<input data-custformat=@(@"##.##\%") />

正确格式化数字,并覆盖默认的剑道百分比行为。请注意,在字符串文字中,仅使用了一个反斜杠。

这是一个小众且微妙的问题,但在尝试将 Kendo UI 与 ASP.NET MVC 集成时引起了一些挫败感。

于 2014-05-14T16:56:25.813 回答