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

gywdnpxw  于 2021-07-03  发布在  Java
关注(0)|答案(2)|浏览(346)

首先,我对android开发还不熟悉?
什么工作正常:-
我已经创建了一个计算器,其中用户输入数字使用编辑文本和选择运算符使用单选按钮。单击按钮时:-
它创建值为edittext的变量double
它返回受尊敬的答案(双倍)。
问题来了:-如果用户在任何edittext中输入超过1点(.)ex-[5.5.2]&然后单击按钮,接下来发生的是一个你已经知道的想法?
确切地!撞车!那么,有什么办法可以解决吗?
有什么建议吗?

ubby3x7f

ubby3x7f1#

这不是android的问题,而是java的问题,不管怎样,您都必须从edittext获取文本作为字符串,然后检查字符串中的(点)计数

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

现在,如果计数大于1,它将使崩溃,所以给用户messae和停止进程,否则做你想保存的

tpxzln5u

tpxzln5u2#

这也许不是最好的解决办法,但却是解决办法之一。你能做的是;当用户输入double值时,可以使用double.tostring()方法将其转换为字符串。然后可以检查它是否包含多个“.”(点)。
假想是这样的。

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

然后根据checkflag值做出决定

相关问题