>백엔드 개발 >C++ >C#의 두 배로 로케일-특이 적 소수점 문자열을 안정적으로 구문 분석 할 수 있습니까?

C#의 두 배로 로케일-특이 적 소수점 문자열을 안정적으로 구문 분석 할 수 있습니까?

Barbara Streisand
Barbara Streisand원래의
2025-01-28 01:51:09856검색

How Can I Reliably Parse Locale-Specific Decimal Strings to Doubles in C#?

C#에서 로케일별 10진수를 강력하게 처리

C#에서 10진수 문자열을 double로 구문 분석하는 것은 다양한 로케일 규칙으로 인해 까다로울 수 있습니다. double.Parse() 방법은 편리하기는 하지만 시스템의 현재 문화에 의존하므로 잠재적인 오류가 발생할 수 있습니다.

예를 들어 시스템 문화권에서 소수 구분 기호로 쉼표를 사용하는 경우 "3.5"를 구문 분석하면 3.5 대신 35가 나올 수 있습니다. 마찬가지로, 문화권에서 다른 구분 기호를 요구하는 경우 double.Parse("3.5", System.Globalization.NumberStyles.AllowDecimalPoint)을 사용하면 FormatException 사용이 실패할 수 있습니다.

해결책은 CultureInfo.InvariantCulture을 사용하는 것입니다. 이 문화권은 일관되고 로케일 독립적인 형식을 제공하여 시스템 설정에 관계없이 올바른 해석을 보장합니다.

신뢰할 수 있는 구문 분석 방법은 다음과 같습니다.

<code class="language-csharp">double.Parse("3.5", CultureInfo.InvariantCulture);</code>

이 접근 방식을 사용하면 소수점이 항상 올바르게 해석되어 로캘별 소수 문자열을 처리하기 위한 강력한 솔루션을 제공할 수 있습니다. 이 기술은 다양한 소스 또는 해외 사용자의 데이터를 처리하는 애플리케이션에 매우 중요합니다.

위 내용은 C#의 두 배로 로케일-특이 적 소수점 문자열을 안정적으로 구문 분석 할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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