如果用户输入 (Double) 包含多个点 (.),我该如何检查?

How Can I Check , If A User Input (Double) Contain More Than One Point (.)?

首先,我是 Android 开发新手

什么工作正常:-

我创建了一个计算器,用户可以在其中使用 EditText 和 Select 运算符使用单选按钮输入数字。 单击 按钮 :-

  1. 它创建具有 EditText 值的变量 double
  2. 它Returns尊敬的答案(双)。

问题来了 到达:- 如果用户在任何 EditText 中输入超过 1 个点 (.) Ex - [ 5.5.2 ] & 然后单击 按钮 接下来发生的是你已经知道的思考

没错!碰撞 ! 那么,有什么办法可以解决吗?

欢迎任何建议

这不是一个 android 问题,它是一个 java 问题,无论如何你必须从 EditText 中获取文本作为字符串,然后检查字符串中 .(Point) 的计数

String line = EditText.getText.toString()
int count = line.length() - line.replace(".", "").length();

现在,如果计数大于 1,它会导致崩溃,所以给用户消息并停止进程,否则做你想做的事,你正在保存

它可能不是最好的解决方案,但它是解决方案之一。你能做的是;当用户输入双精度值时,您可以使用 Double.toString() 方法将其转换为字符串。然后你可以检查它是否包含多个“。” (点)。

伪代码看起来像这样。

value = get double value from EditText()
str = value.toString()
checkFlag = check(str) //Checks if there are more then one dot

然后你可以根据 checkFlag 值做出决定