2012-06-27 27 views
0

我试图解析和添加2个数字在一起,我不知道它们是哪种类型(int,float等),并且我试图将结果存储在最适当的类型。例如,如果我得到2个整数,我希望结果是一个int,但是如果我得到一个int和一个double,我希望结果是一个double。我会如何去做这件事?添加未知类型的数字

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

例:

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

Object answer = add(number1, number2); 

什么会增加()是什么样子?

+0

*为什么*你想要根据输入的类型不同? –

+0

我想输入我真正想要的值是正确的,空间不是问题,所以双打应该没问题。 – wangburger

回答

4

我会读全部为doubleBigDecimal。这将比试图找到“最佳”类型更简单,可能更有效。

1

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