3

我正在制作一个 GUI 程序。在我的第一个程序中,我有以下代码:

double num1;
num1 = Double.parseDouble(guess.getText());

我相信这段代码从文本字段中获取值并将其转换为双精度。

如何获取值并将其转换为字符串或字符?

4

5 回答 5

1

由于getText()已经返回 a String,因此将其值存储为 aString是微不足道的。

为了解析 a double,您已经完成了,只需注意NumberFormatException, 以防输入无效。

要将其值存储为 a char,这取决于您的要求。你想要第一个角色吗?您是否要求字符串只有一个字符?任何字符都有效吗?等等。

// Storing the value as a String.
String value = guess.getText();

// Storing the value as a double.
double doubleValue;
try {
    doubleValue = Double.parseDouble(value);
} catch (NumberFormatException e) {
    // Invalid double String.
}

// Storing the value as a char.
char firstChar = value.length() > 0 ? value.charAt(0) : (char) 0;

// Require the String to have exactly one character.
if (value.length() != 1) {
    // Error state.
}
char charValue = value.charAt(0);
于 2013-10-01T16:18:35.343 回答
1

使用 String.valueOf() 而不是 Double.parseDouble() 这将帮助您将 double 转换为字符串值

于 2017-09-15T15:48:08.723 回答
0

getText()方法返回一个字符串。当您使用时.parseDouble,您真正在做的是将用户输入的字符串转换为双精度字符串,因此在字符串的情况下,您不必使用 .parse 方法,因为调用的值已经是字符串。对于角色,您必须使用以下内容:

String text = jTextField1.getText();
if (text.length() > 1 && !text.contains(" ") && !text.contains(",")) {
    //make sure that its length is not over 1, and that it has no spaces and no commas 
    char ch = text;
} else {
    //if a space or comma was found no matter how big the text it will execute the else.. 
    System.out.println("this is not allowed");
    jTextField1.setText("");
}
于 2013-10-01T15:37:58.710 回答
0

已经将getText()文本作为字符串返回。顺便说一句,由于解析错误,请注意异常。但你在正确的轨道上。:)

于 2013-10-01T15:21:39.790 回答
-1

getText()函数已经StringTextfield.

例如:

String var = guess.getText();

这里,var存储StringTextfield.

于 2016-06-30T17:42:07.060 回答