문제

나는 이 스레드에 있는 사람과 거의 같은 문제를 안고 있습니다.

쉼표 대신 마침표가 있는 Float를 변환하시겠습니까?

그래서 내

double x = 234.4;
string y = x.ToString();

나는 얻다 y == "234,4";

더 나쁜 것은 ... Double.Parse("234.4") 예외가 발생합니다.

쉼표 대신 마침표를 사용하라는 요청을 받기 전에 많은 코드를 작성했으므로 다음을 선호합니다. 전역 수준에서 내 CultureInfo를 변경하는 방법.

프로젝트에 제가 할 수 있는 설정이 있나요?

난 노력 했어:

        Application.CurrentCulture = CultureInfo.CreateSpecificCulture("en-US");
        Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("en-US");
        Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");

그들은 일종의 일을 합니다.이는 대부분의 응용 프로그램에서 작동하지만 내 TabControl 탭에 있는 모든 컨트롤이 여전히 내 컴퓨터를 사용하려고 합니다..

이 문제를 해결하는 방법에 대한 아이디어가 있습니까?

도움이 되었습니까?

해결책 2

Florin Sabaus의 의견 덕분에 해결책을 찾았습니다.

        Application.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture("en-US");

양식을 만들기 직전에 Main()에 있습니다.

이제 .ToString() 및 Double.Parse()를 모두 변경할 필요가 없습니다. :-) 네!

다른 팁

당신은 사용해 볼 수 있습니다

double.Parse("...", CultureInfo.InvariantCulture)

그리고

x.ToString(CultureInfo.InvariantCulture)

긍정적인 프로그램 부분에서는 쉼표나 기타 지역 설정에 따른 소수 구분 기호 대신 소수점 마침표가 필요합니다.

도움이 되길 바랍니다.

다음 해결 방법을 시도해 보세요. http://www.codeproject.com/KB/cs/Change_App_Culture.aspx

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top