문제
나는 이 스레드에 있는 사람과 거의 같은 문제를 안고 있습니다.
쉼표 대신 마침표가 있는 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
제휴하지 않습니다 StackOverflow