计算小数“点”和小数位

时间:2014-09-10 05:33:54

标签: java

这是我的代码:

for (int i = 0; i < s1.length(); i++) {
        if (!Character.isDigit(s1.charAt(i)))
            if (!(s1.charAt(i) == '.')) 
           {
                JOptionPane.showMessageDialog(null,  "You must enter a number");
                System.exit(0);
           }

此代码检测除数字或&#34;之外的所有字符。&#34;。 如果它检测到任何其他角色,它会告诉你&#34;你必须输入一个号码&#34;然后关闭。

现在我的问题是:

如果我写了两个小数点,如2.2.3,它将无法检测到错误。

我的第二个问题:

如何让我的程序检测三个小数位并显示一条消息。

1 个答案:

答案 0 :(得分:2)

不要重新发明轮子 - Double已经可以为你做到这一点:

String s1 = <some input number>;
try {
    Double.parseDouble(s1);
} catch (NumberFormatException e) {
    JOptionPane.showMessageDialog(null,  "You must enter a number");
    System.exit(0);
}