如果用户在文本字段中输入了多个小数点,我想创建一条错误消息。我只能检查是否有1个小数点,但是我不知道它有多少个。
答案 0 :(得分:1)
String text = myTextField.getText();
String[] number = text.split("\\.");
这段简单的代码为您提供了所需的一切。数组中元素的数量-1是char'。'的次数。出现在您的输入中。
编辑:
如果用户输入的值后面有几个.
个字符,例如:"5....."
,则需要使用split
方法的重载版本。
split(myRegex)
将检索匹配项之间的值(如果有)
split(myRegex, -1)
将全部获取,而不管匹配之间是否有价值。
答案 1 :(得分:1)
这并不是问题所要问的,但肯定可以处理多个点,甚至更多。想法是从Textfield中以String形式获取输入,然后将该字符串转换为double。如果抛出异常,则提示用户输入的输入无效,并要求再次输入该值。这将处理您所有的输入数据验证。代码就是这样,
String inputNum = myTextField.getText();
double actualNum = 0.0;
try {
actualNum = Double.parseDouble(inputNum);
} catch (NumberFormatException ne){
// Prompt User
}