Java 检查textfield是否有多个点

Java 检查textfield是否有多个点,java,netbeans-8,Java,Netbeans 8,如果用户在文本字段中输入了多个小数点,我想创建一条错误消息。我只能在有1个小数点时进行检查。但是我不知道有多少 String text = myTextField.getText(); String[] number = text.split("\\."); 这段简单的代码为您提供了所需的一切。数组中的元素数-1是字符“.”出现在输入中的次数 编辑: 如果用户可能输入的值具有多个字符,例如:“5…”,则需要使用重载版本的拆分方法 split(myRegex) 将检索匹配项之间的值(如果有)

如果用户在文本字段中输入了多个小数点,我想创建一条错误消息。我只能在有1个小数点时进行检查。但是我不知道有多少

String text = myTextField.getText();
String[] number = text.split("\\.");
这段简单的代码为您提供了所需的一切。数组中的元素数-1是字符“.”出现在输入中的次数

编辑: 如果用户可能输入的值具有多个
字符,例如:
“5…”
,则需要使用重载版本的
拆分方法

split(myRegex)
将检索匹配项之间的值(如果有)

split(myRegex, -1)
无论匹配之间是否存在某些值,都将获取所有值

这段简单的代码为您提供了所需的一切。数组中的元素数-1是字符“.”出现在输入中的次数

编辑: 如果用户可能输入的值具有多个
字符,例如:
“5…”
,则需要使用重载版本的
拆分方法

split(myRegex)
将检索匹配项之间的值(如果有)

split(myRegex, -1)

无论匹配之间是否有价值,都会得到所有的结果。

这不完全是问题所问的,但肯定会处理多个点和更多点。其思想是从Textfield获取作为字符串的输入,然后将该字符串转换为double。如果它抛出异常,则提示用户给定的输入无效,并要求再次输入值。这将处理所有输入数据验证。代码应该是这样的

String inputNum = myTextField.getText();
double actualNum = 0.0;
try {
  actualNum = Double.parseDouble(inputNum);  
} catch (NumberFormatException ne){
    // Prompt User
}

这不完全是问题所问的,但肯定会处理多个点和更多。其思想是从Textfield获取作为字符串的输入,然后将该字符串转换为double。如果它抛出异常,则提示用户给定的输入无效,并要求再次输入值。这将处理所有输入数据验证。代码应该是这样的

String inputNum = myTextField.getText();
double actualNum = 0.0;
try {
  actualNum = Double.parseDouble(inputNum);  
} catch (NumberFormatException ne){
    // Prompt User
}

问题是,在其他情况下也会抛出异常。例如:值太大。据我们所知,用户的目标是过滤掉前x个小数点(如果有x+1),并保留最后一个小数点,而无需重新输入值。这也是不可能的问题是,这也会在其他情况下引发异常。例如:值太大。据我们所知,用户的目标是过滤掉前x个小数点(如果有x+1),并保留最后一个小数点,而无需重新输入值。这也是不可能的。这里和这里有很多替代方法。这里和这里有很多替代方法。您的代码不能使用字符串值“5…”。您需要调用
split()
的重载实现,其负限制如下:
text.split(“\\”,-1)
@skomisa true。我只是没想到想要输入(某种程度上)有效数字的人会输入这样的数字。您的代码不能使用字符串值“5…”。您需要调用
split()
的重载实现,其负限制如下:
text.split(“\\”,-1)
@skomisa true。我只是没想到一个想要输入(某种程度上)有效数字的人会输入这样的东西。