0

どのタイプ (int、float など) かわからない 2 つの数値を解析して加算しようとしており、結果を最も適切なタイプに格納しようとしています。たとえば、2 つの int を取得した場合、結果を int にしたいのですが、int と double を取得した場合は、結果を double にしたいと考えています。どうすればこれを行うことができますか?

私が持っていた1つのアイデアは、最初にint、次にlong、次にfloatとして解析してみて、それがどのタイプであるかを確認することでした。NumberFormatExceptions を試行/キャッチするよりも、これを行うためのより良い方法はありますか?

元:

String number1 = "5";
String number2 = "3.4";

Object answer = add(number1, number2);

add() はどのようになりますか?

4

2 に答える 2

4

double私はすべてを、、またはとして読みますBigDecimal。これは、「最適な」タイプを見つけようとするよりも簡単で、おそらくより効率的です。

于 2012-06-27T17:08:16.270 に答える
1

数字が有効であることが確実な場合(たとえば、数字に特別な記号がない場合)、入力でドット(.)を検索します。ドットを見つけたら、それをdouble;として解析します。そうでない場合は、としてint

于 2012-06-27T17:11:47.530 に答える