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库,比如字对数和numbers2words。
例如,我的想法是,有人说“3”,机器人用“4”作为响应,将消息的编号("three" )转换为3,添加1 (4),然后将其转换回文字数字("four")。
我很感谢任何愿意回答这个问题的人,我是无理取闹的!
发布于 2018-07-22 21:46:49
更简单的方法
您可以使用这两个库将数字转换为单词--反之亦然:
单词对数字: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 => {});
https://stackoverflow.com/questions/51466413
复制相似问题