toFixed不是功能吗?

时间:2018-12-02 21:30:57

标签: javascript node.js discord discord.js

我的代码出现错误,以前从未得到过,这确实很奇怪。 我确实尝试过parseFloat,但是那也不起作用。 代码:https://gist.github.com/markd69/aca03cab20e46e0abae7d4f1e402092d

You have triggered an unhandledRejection, you may have forgotten to catch a 
Promise rejection:
TypeError: (((0.044000000000000004 * args[0]) + 0.3) + args[0]).toFixed is 
not a 
function
at Object.exports.run (/root/athex/athex-bot/commands/pay.js:12:54)
at Client.bot.on (/root/athex/athex-bot/index.js:316:11)
at emitOne (events.js:116:13)
at Client.emit (events.js:211:7)
at MessageCreateHandler.handler

1 个答案:

答案 0 :(得分:1)

这与args[0]的值为String有关。

args[0]作为字符串:

  • (0.044000000000000004 * args[0]) + 0.3)产生Number
  • ((0.044000000000000004 * args[0]) + 0.3) + args[0]产生String

.toFixed仅在Number个对象上找到,因此导致... is not a function错误。


args[0]转换为Number并使用它可以解决此问题:

var num = Number(args[0]);
return (((0.044000000000000004 * num) + 0.3) + num).toFixed();
相关问题