【问题标题】:Add a literal number (three) by 1 (four)将文字数字(三)乘以 1(四)
【发布时间】:2019-07-19 22:28:37
【问题描述】:
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-numbersnumbers2words

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

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

【问题讨论】:

  • bot.on('message', async message) => 应该抛出一个语法错误
  • 你描述了你做了什么,但没有描述你的问题。
  • 你的问题不能在形式上:为我从头开始做这件事。 ……更具体。你试过什么,你得到的具体错误是什么。或者你被困在哪里?
  • 我卡住了。机器人根本不会回答。

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


【解决方案1】:

更简单/更简单的方法

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

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

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

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


更难/更长的方法

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

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


顺便说一句,你会得到一个语法错误,因为你忘记了括号。

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

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


【讨论】:

  • 我只是指定我已将其放入 Message 事件中。不过谢谢。另一个库已经工作了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-23
  • 1970-01-01
  • 1970-01-01
  • 2021-10-13
相关资源
最近更新 更多