将文字数字(三)加1(四)

时间:2018-07-22 15:06:57

标签: javascript node.js numbers discord discord.js

    var T2W = require("numbers2words");
    var translator = new T2W("EN_US");
    const { wordsToNumbers } = require('words-to-numbers');
    let numbr = wordsToNumbers(message.content.toLowerCase());
    message.channel.send(translator.toWords(numbr + 1));

所以它在bot.on('message', async message) =>中。我尝试使用其他{。{3}}和words-to-numbers之类的Node.js库。

我的想法是,例如,有人说“三”,然后机器人通过将消息的数字("three"转换为3)并加上1,以“四”的方式进行响应。 (4),然后将其转换回原义数字("four")。

我将感谢任何能回答这个问题的人,我一无所知! =)

1 个答案:

答案 0 :(得分:0)

更简单的方法

您可以使用这两个库将数字转换为单词,反之亦然:

单词到数字:https://www.npmjs.com/package/words-to-numbers

数字到单词:https://www.npmjs.com/package/number-to-words

链接包含有关如何使用库的更多信息。


Harder / Longer方法

您可以使自己的函数接受数字或带文字的数字,然后返回该数字和带文字的数字。为此,您可以(据我所知)创建几个数组,例如["one", "two", "three"]["hundred", thousand", "million"]并使用RegEx。

我在StackOverflow上找到了一个类似的帖子,您可以在其中查看如何编写自己的代码:Convert digits into words with JavaScript


顺便说一句,由于忘记了括号,您将收到语法错误。

您写道: bot.on("message", async message) => {});

应为: bot.on("message", async (message) => {});bot.on("message, async message => {});