-2

如果用户在(DOT). 例如23.25是有效的,但是当用户离开时23.没有在小数点后输入任何值时它会崩溃。

我怎样才能弄清楚这一点并向用户发送一条消息,说您decimal point之后没有输入任何内容DOT

4

7 回答 7

0

检查indexOf() .输入的String它不应该是-1ORstring.length()

于 2013-07-05T08:49:54.267 回答
0

字符串测试=23。

使用 test.endsWith(".");

于 2013-07-05T08:51:29.180 回答
0

您可以split()on .,结果数组的第二个字段不应为空。此外,检查几个小数点很容易扩展(即,该数组中的字段肯定不应该超过 2 个)。

于 2013-07-05T08:51:52.713 回答
0
String[] value = data.trim().split(".");
if(value.length!=2){
  //throw error
}

对于数据 = 23。值长度将为 1。;)

于 2013-07-05T08:53:05.407 回答
0

使用正则表达式匹配类似的东西^(\d+|\d+\.\d+)$

于 2013-07-05T08:53:50.000 回答
0

如果它以“。”结尾,为什么不直接在用户输入后面附加一个“0”呢?已经有太多不友好的消息来自写得不好的应用程序。

于 2013-07-05T08:54:57.993 回答
0

只需使用Float.parseFloat(string)和 catch NumberFormatException,如果字符串不包含可解析的浮点数,则会抛出。

然后你会确定你的字符串是正确的。如果会抛出异常,您可以通知用户输入的值无效。

于 2013-07-05T08:57:10.160 回答