Javascript 当值为字符串时,kendo.tostring不格式化数字
我正在使用Javascript 当值为字符串时,kendo.tostring不格式化数字,javascript,jquery,kendo-ui,kendo-asp.net-mvc,Javascript,Jquery,Kendo Ui,Kendo Asp.net Mvc,我正在使用kendo.toString()方法将字符串格式化为 比如说 kendo.culture("en-US"); kendo.toString(5000, "n") 返回5000 然而,若我传递字符串参数,那个么它就不起作用 kendo.culture("en-US"); kendo.toString("5000", "n") 返回5000 我注意到,执行以下操作似乎有效,因此我猜特定的方法不支持字符串输入 kendo.culture("en-US"); $("
kendo.toString()
方法将字符串格式化为
比如说
kendo.culture("en-US");
kendo.toString(5000, "n")
返回5000
然而,若我传递字符串参数,那个么它就不起作用
kendo.culture("en-US");
kendo.toString("5000", "n")
返回5000
我注意到,执行以下操作似乎有效,因此我猜特定的方法不支持字符串输入
kendo.culture("en-US");
$("#testnumber").text(kendo.toString(5000,"n"))
$("#myinput").change(function(){
var val = $(this).val();
val = kendo.toString(parseFloat(val), "n")
$(this).val(val);
})
要使用
kendo.toString()
格式化数字,您应该传递数字而不是字符串
您可以简单地解析它:
var val = parseFloat($(this).val());
val = kendo.toString(val, "n")
见更新
请参见
kendo.toString()
logic
来自kendo.all.js:
var toString = function (value, fmt, culture) {
if (fmt) {
if (objectToString.call(value) === '[object Date]') {
return formatDate(value, fmt, culture);
} else if (typeof value === NUMBER) {
return formatNumber(value, fmt, culture);
}
}
return value !== undefined ? value : '';
};
}
如果
value
是一个字符串,toString()
将回显它谢谢。但是,括号中未显示负数。对于en-US
文化,负数应显示在括号中,实际上这正是预期的行为。。看一看。它有en-US
文化定义的代码,并明确说明负数的格式为-n
。您可以在numberFormat:{
writed:pattern:[“-n”],
下看到它。无论如何,您可以通过更改文件来覆盖此行为,但这已经超出了此问题的范围。希望它有帮助!欢迎对负数格式进行进一步评论:负数的en-US格式是“-n”但是,负数货币的格式是“($n)”。如果您使用字符串(val,“c”),则会得到括号(和a$)。如果您希望非货币数字使用“(n)”格式,则必须覆盖区域性定义的默认格式。