これは、このフォーラムでの最初の質問です。質問が初心者である場合は、アドバイスをお願いします。
を介してユーザー入力を受け取るため、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+。それでも機能します。私は同様の取り扱いだけが欲しいです。