数字格式的例外“ D”和“ F”例外吗?

我的代码遇到了一个非常奇怪的问题。我有一个简单的温度转换器,用户在其中输入摄氏温度,并按“转换”后,以华氏温度显示。如果用户没有输入有效的内容(不是数字或小数的任何内容),则会显示错误对话框。码:

btnConvert.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

try {

String tempFahr = (String) enterDegreesC.getText();

double tempF = Double.valueOf(tempFahr);

double tempFConverted = tempF * 1.8 +32;

displayDegreesF.setText(tempFConverted + " Farenheit");

}

catch (NumberFormatException nfe) {

JOptionPane.showMessageDialog(frmTemperatureConverter, "Please Enter a Number.", "Conversion Error", JOptionPane.ERROR_MESSAGE);

}

}

});

相当简单明了的代码,除了一件事之外效果很好。 这仅与“ d”和“ f”(以及“ D”和“

F”)一起发生,而不与其他任何字母一起发生。我为此感到困惑。为什么仅将这两个字母放在数字后面会导致不抛出异常并继续进行计算?

回答:

某些语言允许您在数字文字后加上字母,以表示其类型。

如果您只是写了代码12.3,则可能不知道它是浮点数还是双精度数(或者必须推断或强制转换)。

您的数字解析器必须正在接听这些字母。

  • 12.3d12.3double
  • 12.3f12.3float

以上是 数字格式的例外“ D”和“ F”例外吗? 的全部内容, 来源链接: utcz.com/qa/403751.html

回到顶部