当value为string时,kendo.tostring不会格式化数字

时间:2017-05-04 20:51:16

标签: javascript jquery kendo-ui kendo-asp.net-mvc

我正在使用kendo.toString()方法将字符串格式化为documented here 例如,

   kendo.culture("en-US");
   kendo.toString(5000, "n")

返回5,000

但是,如果我传递字符串参数,那么它不起作用

   kendo.culture("en-US");
   kendo.toString("5000", "n")

返回5000

JSFiddle

1 个答案:

答案 0 :(得分:1)

要使用kendo.toString()格式化数字,您应该传递数字而不是字符串

你可以简单地解析它:

var val = parseFloat($(this).val());
val = kendo.toString(val, "n")

查看更新的JSFiddle

请参阅kendo.toString()逻辑

来自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()将回显