2014-09-15 2 views
-3

전화 번호는 BigDecimal이지만 20 자리 이상은 사용하지 않았습니다. 무엇을 사용해야합니까?전화 번호에서 20 자리 이상 걸리는 법

if(loginDTO.getPhoneNumber()!=null && loginDTO.getPhoneNumber().length()>0){ 
    userBO.setPhoneNo(new BigDecimal(loginDTO.getPhoneNumber())); 
} 

여기에 BigDecimal 대신 20 개의 숫자가 필요한 항목이 필요합니다.

+3

'BigDecimal'은 여기에서 문제가되지 않습니다. 어떻게 전화 번호를'loginDTO'에 저장합니까? 어떤 유형입니까? – BackSlash

+0

그것의 문자열 유형 실제로 우리는 문자열 형식을 보내지만 우리는 DB에 저장하기 위해 BigDecimal로 다시 설정하는 webservice 요청을 사용합니다. – smita

+0

문자열은 정상적으로 작동합니다. –

답변

2

지역 번호 및 국가 코드 형식으로 인해 전화 번호를 숫자 데이터 형식으로 저장하는 것은 좋지 않을 수 있습니다. 또한 숫자로 저장해도 아무 것도 사지 않습니다 (전화 번호로 얼마나 자주 수학 연산을 수행합니까)?

전화 번호를 String으로 저장하십시오.

6

전화 번호에 숫자 형식을 사용하고 싶지는 않습니다. 예를 들면 - 함부르크/독일에 살고 있기 때문에 로컬 번호는 040-9999999이고 040은 내 지역 번호입니다.

그러나 아아에서는 10 진수 형식의 선행 0이 없습니다.

또는 국제 형식 : +49-40-9999999 또는 확장자가 +49-40-999999-99

하거나 (그 시점은 반 유효 있도록 만, 디스플레이 부분에 대해 그렇게 할 수 있습니다) 쉽게 다이얼링 그룹으로 수치를 포맷하고 싶은 :

+49 40-999 999 ext 99 

당신은 아무것도 계산하지으로 이 번호를 사용하면 번거 로움을 덜 수 있습니다. 문자열을 가져 가라.

+0

+1 212 555 1234 예를 들면. '+'문제. –

+0

위의 답변에 추가하십시오. 나는 또한 처리의 용이성을 위해 다양한 세그먼트로 전화 번호를 분해 생각해야한다고 생각합니다. – SamDJava

+1

또는 -99와 같은 확장자가있는 사용자. –

0

전화 번호를 String 변수로 모델링해야합니다.

전화 번호를 숫자로 해석하면 예를 들어 0으로 시작하는 전화 번호 또는 국가 코드 (+01)와 관련된 문제가 발생할 수 있습니다. 또한 길이 문제를 해결할 수 있습니다.

+0

나는 40 자릿수를 취해야하지만 큰 10 진수는 취하지 않는다. imei_No를 가지고있다. – smita

+0

'BigInteger'를 사용해 보았는가? 이 [ideone demo] (http://ideone.com/ckmZ3C)에서 40 자리 숫자를 확인하십시오.그러나, 만약 당신이 그 숫자에 대한 산술 연산을 수행하지 않을거야, 나는 또한 그들을 관리하는'문자열'을 사용하는 것이 좋습니다. –

+0

요청 패킷에서 사용하는 문자열이지만 Big 10을 사용하는 비즈니스 개체의 값을 설정하는 데 사용할 수있는 문자는 무엇입니까? – smita

관련 문제