如果用户在(DOT)
. 例如23.25
是有效的,但是当用户离开时23.
没有在小数点后输入任何值时它会崩溃。
我怎样才能弄清楚这一点并向用户发送一条消息,说您decimal point
之后没有输入任何内容DOT
。
如果用户在(DOT)
. 例如23.25
是有效的,但是当用户离开时23.
没有在小数点后输入任何值时它会崩溃。
我怎样才能弄清楚这一点并向用户发送一条消息,说您decimal point
之后没有输入任何内容DOT
。
检查indexOf()
.
输入的String
它不应该是-1
ORstring.length()
字符串测试=23。
使用 test.endsWith(".");
您可以split()
on .
,结果数组的第二个字段不应为空。此外,检查几个小数点很容易扩展(即,该数组中的字段肯定不应该超过 2 个)。
String[] value = data.trim().split(".");
if(value.length!=2){
//throw error
}
对于数据 = 23。值长度将为 1。;)
使用正则表达式匹配类似的东西^(\d+|\d+\.\d+)$
如果它以“。”结尾,为什么不直接在用户输入后面附加一个“0”呢?已经有太多不友好的消息来自写得不好的应用程序。
只需使用Float.parseFloat(string)
和 catch NumberFormatException
,如果字符串不包含可解析的浮点数,则会抛出。
然后你会确定你的字符串是正确的。如果会抛出异常,您可以通知用户输入的值无效。