-1

長い値を取るテキストフィールドがあり、文字を取る場合はエラーメッセージを表示する必要があります。その変数に文字が含まれているかどうかを長い間チェックする isNAN() のような方法はありますか?

4

5 に答える 5

1

次のような小さなユーティリティメソッドを使用できます。

private boolean isLong(String str){
    try{
      Long.parseLong(str);
    }
    catch(NumberFormatException nfe){
      return false;
    }
  return true;
}
于 2013-01-23T10:40:07.943 に答える
1

文字列に解析可能な long が含まれていない場合、静的メソッドLong.parseLong()は をスローします。NumberFormatException

于 2013-01-23T10:36:59.870 に答える
1

通常、これを行うには、 をキャッチLong.parseLong(textfield.getText())するブロックでラップすることを試みます。try catchNumberFormatException

例外がキャッチされた場合、ユーザーが有効な値を入力しなかったことを意味しlongます。

于 2013-01-23T10:37:55.497 に答える
1

long x = Long.parseLong("12345L");

NumberFormatException をスローする可能性があるため、上記のステートメントをキャッチしてみてください。

于 2013-01-23T10:38:04.153 に答える
0

他のソリューションの代わりとして、正規表現を使用できます

    boolean containsCharacters = !txt.matches("-?\\d+");
于 2013-01-23T10:43:09.280 に答える