为什么str.substr(0,4)不是函数?

时间:2018-03-30 10:42:08

标签: jquery

我正在用jQuery创建一个脚本,我得到了以下数字7.2387。我所拥有的只是7.23,为此我写了以下代码:

var str = 7.2387;
var shorter = str.substr(0,4);

但是我收到了这个错误:

all.js?55:92 Uncaught TypeError: str.substr is not a function
    at HTMLSpanElement.<anonymous> (all.js?55:92)
    at HTMLSpanElement.dispatch (jquery.min.js:2)
    at HTMLSpanElement.y.handle (jquery.min.js:2)

我的整个脚本停止工作,只有当我删除substr(x,y)函数时它才有效。我确保更新了jquery。怎么了?

2 个答案:

答案 0 :(得分:1)

substr()方法从指定位置的字符开始提取字符串的部分内容,并返回指定数量的字符。

但在您的情况下,str变量不是字符串。如果要获取变量的特定大小表示(数值),可以使用toFixed()方法将数字转换为字符串,并保留指定的小数位数。

var num = 5.56789;
var n = num.toFixed(2);

console.log(n)

答案 1 :(得分:0)

因为str不是字符串而且没有substr方法。您必须先将其转换为字符串。

var str = 7.2387;
var shorter = String(str).substr(0, 4);
console.log(shorter);