检查文本字段是否有多个点

Check textfield if it has multiple points

如果用户在 textfield.I 中输入了多个小数点,我想创建一个错误消息只能检查它是否有 1。但我不知道如果有很多。

String text = myTextField.getText();
String[] number = text.split("\.");

这段简单的代码可以满足您的所有需求。数组中的元素个数 - 1,是 char '.' 出现的次数出现在您的输入中。

编辑: 如果用户可能输入的值有几个 . 个字符,例如:"5.....",您需要使用 split 方法的重载版本。

split(myRegex)

将检索匹配之间的值,如果有的话,

split(myRegex, -1)

无论匹配之间是否有一些值,都会得到它们。

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

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