これは、このフォーラムでの最初の質問です。質問が初心者である場合は、アドバイスをお願いします。
を介してユーザー入力を受け取るため、EditText
文字列/文字列です。次に、BigDecimal
その値を保持するために作成しました。指数も問題なく優雅に処理します。しかし問題は、ユーザーが1.1E+
(末尾の指数値なしで)次のような値を入力すると、このコードでコードがクラッシュすることです。しかし、入力がこのような場合に機能します1.1E+2
EditText edit_text_left;
Editable editable_val_text;
....
editable_val_text = edit_text_left.getText();
BigDecimal val = new BigDecimal((editable_val_text.toString().trim())); // crash happens here
これをどのように処理しますか?
詳細: Google 単位変換アプリで、デジタル ストレージを選択して、ペタバイトからビットへの変換を試すことができます。ペタバイト単位で 9 と入力すると8.106e+16
、ビット セクションに表示されます。に編集8.106e+16
してみてください8.106e+
。それでも機能します。私は同様の取り扱いだけが欲しいです。