如果用户在(DOT)
之后没有输入小数点,我的应用程序崩溃了。例如23.25
有效,但是当用户离开23.
而没有在十进制之后输入任何值时,它会崩溃。
我如何理解这一点并向用户发送消息说,您在decimal point
之后尚未输入任何DOT
。
答案 0 :(得分:0)
检查输入的indexOf()
中的.
String
,-1
或string.length()
答案 1 :(得分:0)
字符串测试= 23。
使用test.endsWith(“。”);
答案 2 :(得分:0)
您可以在split()
上.
,并且生成的数组的第二个字段不应为空。此外,它可以轻松扩展以检查几个小数点(即该阵列中肯定不应超过2个字段)。
答案 3 :(得分:0)
String[] value = data.trim().split(".");
if(value.length!=2){
//throw error
}
表示数据= 23。 值的长度为1.;)
答案 4 :(得分:0)
使用正则表达式来匹配^(\d+|\d+\.\d+)$
答案 5 :(得分:0)
如果以“。”结尾,为什么不向用户输入添加“0”。 从编写糟糕的应用程序中已经有太多不友好的消息。
答案 6 :(得分:0)
只使用Float.parseFloat(string)
并捕获NumberFormatException
,如果string不包含可解析的float,则抛出{{1}}。
然后你会确定你的字符串是正确的。如果抛出异常,您可以通知用户输入的值无效。