尝试将%符号添加到Kendo NumericTextBox中的数字。他们建议将%符号转义为:
$("#numeric").kendoNumericTextBox({
format: "# \%"
});
但是当我给它一个值3时,它仍然给我300%!
来自Kendo文档:
“%” - 百分比占位符将数字乘以100并插入一个 结果字符串中的本地化百分比符号。注意:'%'符号是 解释为格式字符串中的格式说明符。如果你需要 为防止这种情况,您需要在'%'符号前加一个反斜杠 -
'kendo.toString(12, "# \%")'
- > 12%(en-us)。
答案 0 :(得分:4)
你看到this论坛帖吗?看起来你需要用两个斜线来逃避......
答案 1 :(得分:4)
$("#numeric").kendoNumericTextBox({
format: "# \\%"
});
答案 2 :(得分:4)
我在.cshtml文件中的一个网格列中工作,对我来说,以下是有效的:
Format("{0:#.## \\'%'}");
注意%符号周围的两个单引号。
答案 3 :(得分:0)
作为对此处其他答案的补充,我想补充一点,如果您使用带有ASP.NET Razor视图语法的Kendo UI,并且您的格式字符串必须从输入标记本身传入,您需要将Kendo UI格式字符串转换为字符串文字,否则JavaScript将最终转义转义字符。例如,在我正在处理的应用程序中,我们有一个自定义数据字段,用于html帮助程序用于创建Kendo NumericTextBox的格式。
示例:
<input data-custformat="##.##\\%" value="12"/>
无法正确呈现格式。输出看起来像1200 \%,因为双反斜杠转义为单个反斜杠,并且该字段保持默认的Kendo百分比行为,将字段的值乘以100.
然而,
<input data-custformat=@(@"##.##\%") />
正确格式化数字,并覆盖默认的Kendo百分比行为。请注意,在字符串文字中,只使用了一个反斜杠。
这是一个有点小众和微妙的问题,但在尝试将Kendo UI与ASP.NET MVC集成时引起了一些挫折。