Java에서 기본 NumberFormat을 사용하면 소수 구분 기호로 쉼표가 포함된 문자열을 구문 분석할 때 오류가 발생할 수 있습니다. 다음 코드를 고려해보세요.
String p = "1,234"; Double d = Double.valueOf(p); System.out.println(d);
이 코드는 NumberFormatException을 발생시킵니다. 이 문제를 극복하기 위한 편리한 해결책은 p.replaceAll(",", ".")을 사용하여 쉼표를 마침표로 바꾸는 것입니다. 그러나 더 효율적인 방법이 있습니까?
java.text.NumberFormat 클래스는 정교한 솔루션을 제공합니다. 이를 통해 로케일별 형식 지정 규칙을 지정하여 소수 구분 기호가 올바르게 인식되도록 할 수 있습니다. NumberFormat을 사용하는 방법은 다음과 같습니다.
NumberFormat format = NumberFormat.getInstance(Locale.FRANCE); Number number = format.parse("1,234"); double d = number.doubleValue();
이 코드에서는 쉼표가 소수 구분 기호로 사용되는 프랑스어 로캘에 대한 NumberFormat을 인스턴스화합니다. parse() 메소드는 문자열을 Number 객체로 변환한 다음 doubleValue()를 사용하여 double로 변환합니다.
다국어 애플리케이션을 지원하려면 다음 코드:
NumberFormat format = NumberFormat.getInstance(Locale.getDefault());
이것은 현재 사용자의 작업 로케일인 기본 로케일에 대한 NumberFormat을 생성합니다. 시스템입니다.
위 내용은 Java에서 쉼표 소수 구분 기호를 사용하여 Double을 효율적으로 구문 분석하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!