0

我试图在我不知道它们是哪种类型(int、float 等)的情况下解析并将 2 个数字相加,并且我试图将结果存储在最合适的类型中。例如,如果我得到 2 个 int,我希望结果是一个 int,但如果我得到一个 int 和一个 double,我希望结果是一个 double。我该怎么做呢?

我的一个想法是先尝试解析为 int,然后是 long,然后是 float,……看看它是哪种类型。有没有更好的方法来做到这一点,而不是尝试/捕获 NumberFormatExceptions?

前任:

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

Object answer = add(number1, number2);

add() 会是什么样子?

4

2 回答 2

4

我会将所有内容阅读为 adouble或 a BigDecimal。这将比试图找到“最佳”类型更简单并且可能更有效。

于 2012-06-27T17:08:16.270 回答
1

如果您确定这些数字是有效的(例如其中没有特殊符号),那么我会在输入中搜索点 ( .)。如果我找到一个点,我会将其解析为double; 如果没有,如int.

于 2012-06-27T17:11:47.530 回答