2016-07-25 5 views
5

는 내가 commons.apache.org isNumeric 방법 정의를 읽고 있던 그것은 상태 :StringUtils isNumeric은 입력이 "???"인 경우 true를 반환합니다. 그 이유는 무엇입니까?

StringUtils.isNumeric("???") = true; 

내가 "???"이 숫자로 간주됩니다 이유를 모르겠습니다. 내 추측은 다음과 같습니다

  • "?" 그것은 정규식 패턴의 일종 인 유니 코드 숫자
  • 을 고려 내가보고이 질문에 대한 답을 찾을 수 있었다

isNumeric Method Definition

답변

9

isNumeric 메서드의 소스 코드는 StringUtils입니다. 소스 코드 그 라인은 다음과 같이 표시

StringUtils.isNumeric("\u0967\u0968\u0969") = true 

어디 u0967, u0968, u0969 각각 하나, 둘 Devangari Digits, 3이다. 문자가 API에서 올바르게 렌더링되지 않는 브라우저 문제 일 수 있습니다.

+1

그리고 가치가있는 점에 대해서는 제 브라우저가 물음표로 구분하지 않고 그 숫자에 대한 올바른 글리프를 표시합니다. –

3

의 코드를 보면, 예입니다

\u0967

StringUtils.isNumeric("\u0967\u0968\u0969") = true 
은 '데바 나가리 자리 하나 "인 입니다

\u0967

그래서"두 데바 나가리 숫자 "인 입니다 그들은 숫자입니다!