2012-06-27 2 views
0

2 개의 숫자를 함께 구문 분석하고 추가하려고합니다 (int, float 등) 어떤 유형인지 모를 때 가장 많은 결과를 저장하려고합니다. 적절한 유형. 예를 들어 2 int를 얻으면 결과를 int로 만들려고합니다. 그러나 int와 double을 얻으면 결과가 double이됩니다. 이 일을 어떻게 하죠?알 수없는 유형의 숫자 ​​추가

처음에는 int로 구문 분석을 시도한 다음 길게 만든 다음 플로트하여 어떤 유형인지 확인했습니다. NumberFormatExceptions를 시도하거나 잡는 것보다 더 나은 방법이 있습니까?

예 :

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

Object answer = add(number1, number2); 

무엇을 추가()처럼?

+0

* 왜 * 입력에 따라 유형이 달라지시겠습니까? –

+0

필자가 정말로 원하는 유형은 정확하고 공간이 문제가 아니므로 복식으로 모든 것이 잘되어야합니다. – wangburger

답변

4

나는 모두 double 또는 BigDecimal으로 읽을 것입니다. 이것은 "최적"유형을 찾는 것보다 더 간단하고 능률적 일 것입니다.

1

숫자가 유효하다는 것이 확실하다면 (예 : 특수 기호가없는 경우) 점을 입력 (.)으로 검색합니다. 점을 찾으면 double으로 구문 분석합니다. 그렇지 않은 경우는 int입니다.

관련 문제