"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Java에서 쉼표를 소수 구분 기호로 사용하여 Double을 안전하게 구문 분석하는 방법은 무엇입니까?

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

2024년 12월 22일에 게시됨
검색:322

How to Safely Parse Doubles with Comma as Decimal Separator in Java?

쉼표를 소수 구분 기호로 사용하여 Double을 효과적으로 구문 분석하는 방법

문제:

문자열 값 "1,234"와 같이 쉼표를 구분 기호로 사용하여 십진수를 표현하면 다음을 사용하여 구문 분석할 때 NumberFormatException이 발생할 수 있습니다. Double.valueOf().

제안된 솔루션:

p = p.replaceAll(",", ".")을 사용하여 쉼표를 마침표로 바꾸는 것이 유효한 접근 방식입니다. , 그러나 더 강력한 방법이 있습니다.

Java의 NumberFormat for Decimal 구문 분석:

로케일별 구분 기호를 사용하여 소수를 처리하기 위해 Java는 NumberFormat을 제공합니다. 다음 코드를 고려하십시오.

NumberFormat format = NumberFormat.getInstance(Locale.FRANCE);
Number number = format.parse("1,234");
double d = number.doubleValue();

다국어 애플리케이션 업데이트:

다국어 애플리케이션에서는 로캘별 소수 구분 기호가 중요합니다. 이를 지원하려면 NumberFormat.getInstance(Locale.getDefault())를 사용하여 현재 로케일의 형식을 가져옵니다.

NumberFormat의 장점:

  • 쉼표와 로케일별 구분 기호입니다.
  • 다양한 입력에 대한 유연성을 제공합니다. 형식.
  • 구문 분석 및 표현이 설정된 로케일과 일치하는지 확인합니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3