私が制御するには、このコードを持っています問題なの?おかげさまで 整数として「」解析することができません[FC]
0
A
答えて
1
Integer.valueOf(String s)に有効な数値ではない文字列を指定すると、NumberFormatExceptionがスローされます。文字列S(
km = settings.getString("km", "");
int x;
try {
x = Integer.valueOf(km);
} catch(NumberFormatException e) {
x = 0;
}
1
Integer.valueOfは.parseInteger持つ新しい整数を作るためにtrys:
km = settings.getString("km", "0");
また、あなたが例外をキャッチすることができ、かつx
0
に設定:0にデフォルト値を変更します)、 ""有効な数値に解析してNumberFormatExceptionを得ることができないようにしてください。
try catchブロックでキャッチするか、文字列でIntegerを作成しないでください。
前:
int x= Integer.valueOf(km);
if (km != "") {
後:km
文字列が整数として解析できない場合
if (km != "") {
int x= Integer.valueOf(km);
1
が例外をスローすることができます。
ただし、ブロックをtry { } catch()
ブロックにラップすることはお勧めできません。
SharedPreferences
にgetString()
メソッドのデフォルト値を設定するという目的は、設定が存在しない場合にデフォルト値を戻すことができるということです。だから、これを解決するためのより良い方法は、このようになり、あなたのsettings.getString(...)
の呼び出しを変更することです:
km = settings.getString("km", "0");
その後にあなたの後続の呼び出しは、時に失敗する空白を持っていません。
入力文字列は、ユーザーが任意の値を入力できる空白のテキストフィールドから来ていますか?そうであれば、その時点でユーザーが入力した値を検証できます。早期に入力を検証することで、チェック/検証メカニズムをコードの他の領域に分散する必要はありません。
関連する問題
- 1. は整数として解釈できません。
- 2. TypeError: 'Tensor'オブジェクトは整数として解釈できません
- 3. eclipseで文字列を整数に解析できません
- 4. JSONデータを解析することができません正しく
- 5. ジェンキンスからJSONを解析することができません正しく
- 6. は、XPathとXmlementを解析することはできません正しく
- 7. はJSONとしてカール応答を解析できません。ここ
- 8. 変数に解決することができません
- 9. セット用の整数変数はタイプとして解決できません
- 10. コンソールアプリケーションで値 ''を型として解析できませんブール
- 11. これは "整数として解釈できません"というエラーの原因です。
- 12. JSONファイルを解析することができません。ValueError:Extra Data
- 13. NSPredicate、フォーマット文字列を解析することができません
- 14. JSONの解析中にJSONexceptionをスローすることができません
- 15. twitter4jでdirectmessageにアクセスすると、「3577866941を整数として解析できません」というエラーが表示されます。
- 16. InputBoxからデータを整数として解析できません(Visual Basic for Excel)
- 17. Pythonで変数が整数として認識されませんか?ここ
- 18. 辞書として解析された項目を格納することができません
- 19. TypeError: 'float'オブジェクトは整数として解釈できません。4
- 20. TypeError: 'float'オブジェクトは整数として解釈できません(Python 3.4バージョン)
- 21. INIファイルを読み取ることができませんboost :: program_optionsを使用して解析します
- 22. ファイルフォルダー、ローカル/チームファンデーションサーバーを調整することができません。
- 23. が、この解決することはできません
- 24. Delphi。整数変数を割り当てることさえできません
- 25. プレイでJSONに列挙して地図を解析することができませんScalaの
- 26. 私はこのラムダ関数を理解することができません
- 27. サーバからクライアントへPrintWriterで整数を送ると、解析はできません
- 28. OKhttpライブラリでデータを解析することができます
- 29. Androidスタジオのウェブサイトからhtml解析を行うことができません
- 30. Webサービスがスロー "値 'null'は 'Guid'型として解析できません。"エラー
良い点ですが、最初にIntegerとして値を保存できます。 – Michele
@Michele - これは良い点ですが、通常、コードをできるだけ元に近づけるつもりですが、この場合はおそらく正しいでしょう。 – MByD
2番目のオプションは完全に機能します。ありがとう:) – androniennn