
No.2ベストアンサー
- 回答日時:
・ たとえば、整数か文字列かの場合、クラスIntegerのparseInt(String s)メソッドを使い、例外(NumberFormatException)が発生するかどうかで判断します。
以下のコードを参考にしてみてください。
------------------------------------------------------------
public class ParseIntSample {
public static void main(String[] args) {
System.out.println(isInteger("123"));
System.out.println(isInteger("123A"));
}
static boolean isInteger(String num) {
try {
int n = Integer.parseInt(num);
return true;
} catch (NumberFormatException e) {
return false;
}
}
}
------------------------------------------------------------
結果
true
false
------------------------------------------------------------
実数の場合は、Double.parseDouble(String s)があります。
これも、例外(NumberFormatException)を発生します。
No.1
- 回答日時:
サイトは「Javaの道」さんや「JavaでHello World」さんあたりがお勧め。
色んな情報が載っててすっごく良い。案1.一番手っ取り早いのは、例えばlong値として許される値ならOKという場合
long lTextBoxValue = 0;
try {
lTextBoxValue = Long.parseLong(jtextbox.getText());
} catch(NumberFormatException e) {
・・・
}
という風に、パースしてみて例外をキャッチする。ただ、例外処理というのはコンピュータの処理の中でコストがかかるものなので、多用すると負荷が高くなる。
案2.java.lang.Character#isDigit(int)を使って一文字一文字数値かどうか確かめると確実に分かる。が、全角数字も許されるので半角数字だけにしたいという場合はもう一処理必要。しかもJava5.0ではchar1つ=1文字では無いのでJava1.4と5.0以降を同時に面倒みる必要があるならとてもタイヘン。
案3.もう正規表現でマッチさせりゃいいんじゃないの。
java.util.regex.Pattern pattern = java.util.regex.Pattern.compile("^\-?[0-9]*\.?[0-9]+$");
java.util.regex.Matcher matcher = pattern.matcher(jtextbox.getText());
boolean b = matcher.matches();
こんな感じかな。
一般的にはどのテクが多用されているのかなぁ? 私は面倒なので大体案1を使うかなぁ。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAで、特定の文字より後を削除して残った数値を文字列に変換と特定の文字より前も削除したい 3 2022/04/15 19:21
- Excel(エクセル) Excelの空文字判定について 7 2023/01/06 13:25
- Java java 入力された文字列を数値に置き換えて整数にし、計算をしたいです。 <を10として /を1とし 4 2022/05/16 21:08
- Excel(エクセル) Excel 値を返す数式についてです 3 2022/11/21 20:08
- Java Java 南京錠 2 2023/02/04 11:46
- Java Javaの問題なのですが、「3文字以上の英数字文字列を入力し、文字列の中に文字(9)が出てくるまでの 1 2023/06/06 18:55
- PostgreSQL 数値が定期的にあらわれる文字列から、いくつめに出現した数値が指定して切り出したい 1 2023/06/08 13:12
- Excel(エクセル) 【関数】選択した文字列にしたがって、文字を選んで表示する 2 2023/07/13 22:44
- Excel(エクセル) AVERAGE関数とINDIRECT関数を使ってのオートフィル 3 2023/01/12 12:00
- Excel(エクセル) Excelの文字列を数字に変換する方法について 6 2023/07/31 21:18
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「タイプ初期化子が例外をスロ...
-
VC++におけるCStringの変換
-
数字か文字列かを判定する関数
-
VB.NETで16進数が正しいかどう...
-
C#の捕捉されない例外処理の対...
-
ノートPC内臓CD-ROM(DVD-ROM)...
-
C# マルチスレッドにおける例外...
-
C#でニコニコ動画の情報取得時...
-
アクセスのテーブルのフィール...
-
swingで。
-
String型の日付(2005/11/25)の...
-
[C#][FX]DLLを利用した共有メモ...
-
文字列からダブルクオートの削除
-
VB.Net Object型 空かどうか
-
javaのコンパイルエラーが解決...
-
ファイルダイアログを開いた時...
-
文字列の最後の文字取得
-
0除算の例外処理ができない!!...
-
【JAVA】与えられた金額を貨幣...
-
VBA 400エラー 1004エラー
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「タイプ初期化子が例外をスロ...
-
C#の捕捉されない例外処理の対...
-
VB.Net Object型 空かどうか
-
連続する「\\」をひとつの「\\...
-
VC++におけるCStringの変換
-
VBA Evaluate関数 型が一致しま...
-
Javaで文字列をゼロ埋め(ゼロパ...
-
ファイルダイアログを開いた時...
-
VB.NETで16進数が正しいかどう...
-
Timestamp型への変換について(J...
-
C# マルチスレッドにおける例外...
-
コンストラクタでの例外は不可...
-
文字列からダブルクオートの削除
-
String型の日付(2005/11/25)の...
-
例外ってIf文の中に入れますか...
-
初回例外
-
【JAVA】与えられた金額を貨幣...
-
アサーションと例外処理の違い...
-
VBA 400エラー 1004エラー
-
WebClient()以外でネットにアク...
おすすめ情報