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


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) =>中。我试过使用其他Node.js库,比如words to numbers和numbers2words。

我的想法是,例如,有人说"三",机器人用"四"回应,方法是将消息的编号("three"3(,添加1(4(,然后将其转换回文字编号("four"(。

我会感谢任何能回答这个问题的人,我一无所知

更简单/更简单的方法

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

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

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

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


更硬/更长的方法

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

我在StackOverflow上发现了一个类似的问题帖子,在那里你可以查看如何编写自己的代码:用JavaScript将数字转换为单词。


顺便说一句,您会因为忘记了括号而出现语法错误。

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

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


最新更新