我正在尝试为不和谐的机器人发出计算器命令!
在这段代码中,我尝试将用户输入转换为双精度(例如,用户输入:*计算1 +1)并发送一条包含双精度值的消息! 但是,这没有用,所以我尝试将双精度转换回字符串!
public void onMessageReceived(MessageReceivedEvent event) {
Message message = event.getMessage();
String content = message.getContentRaw();
MessageChannel channel;
channel = event.getChannel();
String[] args = content.split(" ");
if (args[0].equalsIgnoreCase("!calculate")) {
if (args.length == 1) {
channel.sendMessage("error message").queue();
}else {
String input = content;
input = input.replace(args[0], "");
double result = Double.parseDouble(text);
channel.sendMessage(result).queue();
}
}
}
在我将double.toString放入结果和输出之间之后,因为它不会打印出double。
String output = Double.toString(result);
channel.sendMessage(output).queue();
第一次尝试没有输出! 第二个有一个“ numberformatexception”! 我该如何解决这个问题?
答案 0 :(得分:0)
如果遇到数字格式异常,则可能正在尝试转换包含其他字符的字符串。在将“输出”转换为双精度之前,尝试打印它,然后看一下它的外观。