如何校验我入输的文本是不是数字呀

解决方案 »

  1.   

    將文本框輸入的文本轉為Double, 然後捕捉異常.
      

  2.   

    使用formatted类格式化输入即可。Locale[] locales = NumberFormat.getAvailableLocales();
     double myNumber = -1234.56;
     NumberFormat form;
     for (int j=0; j<4; ++j) {
         System.out.println("FORMAT");
         for (int i = 0; i < locales.length; ++i) {
             if (locales[i].getCountry().length() == 0) {
                continue; // Skip language-only locales
             }
             System.out.print(locales[i].getDisplayName());
             switch (j) {
             case 0:
                 form = NumberFormat.getInstance(locales[i]); break;
             case 1:
                 form = NumberFormat.getIntegerInstance(locales[i]); break;
             case 2:
                 form = NumberFormat.getCurrencyInstance(locales[i]); break;
             default:
                 form = NumberFormat.getPercentInstance(locales[i]); break;
             }
             if (form instanceof DecimalFormat) {
                 System.out.print(": " + ((DecimalFormat) form).toPattern());
             }
             System.out.print(" -> " + form.format(myNumber));
             try {
                 System.out.println(" -> " + form.parse(form.format(myNumber)));
             } catch (ParseException e) {}
         }
     }
      

  3.   


    import java.util.regex;
    public static void isDigital(String data)
      {
        Pattern ptn=Pattern.compile("^(-|\\+)?\\d*$");
        Matcher mat=ptn.matcher(data);
        System.out.println(data+" is digitial ?: "+mat.matches());
      }不是数字就是取反