类型错误:toFixed 不是 JavaScript 中的函数

TypeError: toFixed 不是 JavaScript 中的函数

TypeError: toFixed is not a function in JavaScript

当对toFixed()不是number.

要解决该错误,请在调用该方法之前将该值转换为数字,
toFixed或者仅对数字调用该方法。

typeerror tofixed 不是函数

下面是错误如何发生的示例。

索引.js
const num = '123'; // ⛔️ Uncaught TypeError: num.toFixed is not a function const result = num.toFixed(2);

我们在具有字符串类型的值上调用了
Number.toFixed()
方法,因此发生了错误。

number在调用toFixed()方法之前将值转换为 a

要解决此错误,请在调用该toFixed()
方法之前将值转换为数字。

索引.js
const num = '123.456'; const result = Number(num).toFixed(2); console.log(result); // 👉️ 123.46

如果您知道该值是包装在字符串中的有效数字,请Number()在调用该toFixed()方法之前将其传递给构造函数。

您还可以使用
parseFloat
函数将值转换为数字。

索引.js
const num = '123.456ABC'; const result = parseFloat(num).toFixed(2); console.log(result); // 👉️ 123.46

parseFloat()函数返回从给定字符串解析的浮点数,或者NaN如果第一个非空白字符无法转换为数字。

Number.toFixed()方法使用定点表示法格式化数字,并且只能在数字上调用。

number在调用之前检查值是否是类型toFixed()

toFixed或者,您可以在调用该方法之前检查该值是否具有数字类型。

索引.js
const num = null; const result = typeof num === 'number' ? num.toFixed(2) : 0; console.log(result); // 👉️ 0

if/else我们使用了与语句非常相似的三元运算符。

如果问号左边的表达式求值为真值,我们返回冒号左边的值,否则返回右边的值。

我们检查num变量是否存储了一个数字,如果是,我们返回调用该toFixed方法的结果,否则我们返回0

您还可以在调用方法if/else之前使用简单的语句检查值是否为数字。toFixed()

索引.js
const num = null; let result = 0; if (typeof num === 'number') { result = num.toFixed(2); } console.log(result); // 👉️ 0

如果值是 a number,我们调用它的toFixed()方法,否则,
result变量保持设置为0

如果错误仍然存​​在,console.log您正在调用方法的值并使用运算符记录其类型 toFixedtypeof

如果该值是对象或数组,您可能应该在调用
toFixed()方法之前访问对象的特定属性或数组中的特定索引。

结论

当对toFixed()不是number.

要解决该错误,请在调用该方法之前将该值转换为数字,
toFixed或者仅对数字调用该方法。