2014-11-28 3 views
0

문자열 변수에서 시작하여 쉼표로 소수점 구분 기호로 Double 값을 가져와야합니다.Java : 소수점 구분 기호를 알 수없는 문자열에서 쉼표로 두 번

문자열에 int 또는 소수점 이하에 점 또는 쉼표로 구분 된 숫자가 포함되어 있는지 알 수 없으므로 부적절한 문자열 값의 경우를 문자 또는 점 또는 쉼표로 인식해야합니다.

+0

String.replace' 다음 Double.parse''와 구문 분석'에 쉼표를 교체 – ortis

답변

0

parseString() 또는 valueOf() 중 하나를 사용할 수 있습니다. try-catch 블록으로 코드를 둘러싸면 모든 NumberFormatExceptions를 잡을 수 있습니다. 입력 문자열에 쉼표 또는 마침표가 포함되는지 확실하지 않은 경우 replace()이 유용 할 수 있습니다 (String 클래스). 조심해, 첫 번째 인수는 정규식이므로, 당신은 기간을 탈출해야합니다!

2

시도 뭔가 같은 :

String number = "20,981"; 
try { 
    double dNumber = Double.parseDouble(number.replace(',', '.')); 
    System.out.println("My double is " + dNumber); 
} catch (NumberFormatException nfe) { 
    System.out.println("I got exception for invalid string " + number); 
} 
관련 문제