我正在尝试用Java制作一个计算器,一切正常,直到出现这个错误:不兼容的类型:
字符串不能转换为双精度
格式说明符“%.0f”,参数 1 的值类型“字符串”无效
这是脚本:
private void btnResultActionPerformed(java.awt.event.ActionEvent evt) {
String answer;
second = Double.parseDouble(display.getText()); // The second number to count
if (operation == "+") {
answer = String.valueOf(first + second);
result = String.format("%.0f",answer);
display.setText(String.valueOf(result));
} else if (operation == "-") {
answer = String.valueOf(first - second);
result = String.format("%.0f",answer);
display.setText(String.valueOf(result));
} else if (operation == "*") {
answer = String.valueOf(first * second);
result = String.format("%.0f",answer);
display.setText(String.valueOf(result));
} else if (operation == "/") {
answer = String.valueOf(first / second);
result = String.format("%.0f",answer);
display.setText(String.valueOf(result));
}
}
变量“first”、“second”和“result”是双精度数,操作是字符串。我以前没有这个错误,但过了一段时间它开始出错,所以我添加了 String.valueOf(first + second); , 之前是 answer = first + second; 但添加 valueOf 解决了这个问题。现在问题仍然存在于 "result = String.format("%.0f", answer);"