-1

入力値を比較しようとしています。これが私が言いたいことのサンプルです。

           if(text.input != float)
           {
              //code to calculate
           }

数字以外の値を入力したくありません。これは正しいです?

4

2 に答える 2

6

次のようなことをする必要があります

try {
  float value = Float.valueOf(text.input);
  // Do something with value - it's OK.
} catch (NumberFormatException e) {
  // text.input is not a float, handle appropriately...
}
于 2012-12-07T12:59:55.957 に答える
0

ロジックを実装するために try/catch ブロックを使用すると「うまくいきます」が、それがより効率的な方法かどうかはわかりません。

テキスト値が実際にフロートである場合はごくわずかな割合であり、非フロートは本当に例外的な状況であり、try/catch の配置に同意します。

非浮動小数点数が入力のかなりの部分を占めている場合は、例外をスローするよりも、正規表現を使用して有効な浮動小数点数をチェックした方がよいでしょう。

于 2012-12-07T13:02:55.890 に答える