>Java >java지도 시간 >Java에서 쉼표 소수 구분 기호를 사용하여 Double을 효율적으로 구문 분석하는 방법은 무엇입니까?

Java에서 쉼표 소수 구분 기호를 사용하여 Double을 효율적으로 구문 분석하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-19 12:38:16776검색

How to Efficiently Parse Doubles with Comma Decimal Separators in Java?

쉼표 소수 구분 기호를 사용하여 Double 구문 분석

Java에서 기본 NumberFormat을 사용하면 소수 구분 기호로 쉼표가 포함된 문자열을 구문 분석할 때 오류가 발생할 수 있습니다. 다음 코드를 고려해보세요.

String p = "1,234";
Double d = Double.valueOf(p); 
System.out.println(d);

이 코드는 NumberFormatException을 발생시킵니다. 이 문제를 극복하기 위한 편리한 해결책은 p.replaceAll(",", ".")을 사용하여 쉼표를 마침표로 바꾸는 것입니다. 그러나 더 효율적인 방법이 있습니까?

java.text.NumberFormat을 사용하는 더 나은 구문 분석 방법

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.