2017-11-14 5 views
1

우리는 웹 응용 프로그램을 가지고 있으며 사용자는 유럽의 다른 위치에있을 수 있습니다. 텍스트 상자언어에 따른 서식 통화 번호

에서 5.5 등이 5,5 거의 쓰기와 같은

거의 쓰기 수는 우리는 아래

double priceOfITem = 0; 
double.TryParse(((TextBox)tabTest.Rows[0].Cells[3].Controls[0]).Text.Replace(".", ","), out priceOfITem) 

처럼 그 번호를 사용하려고 그러나 이것은 완전히 잘못된 것입니다 55로 출력을 제공합니다.

나는 내가 5.5를 입력하고 난 5,5를 입력하면 다음이 일부 사용자가 5,5를 입력 할 수 있습니다 일부는 coutry에 따라 5.5를 입력 할 수 있습니다 (55)

로 변환하면이 작품 priceOfITem= Convert.ToDouble(string.Format(Thread.CurrentThread.CurrentCulture, "{0:#.##}",(((TextBox)tabTest.Rows[0].Cells[0].Controls[0]).Text)));

같은 시도 어떻게 이런 식으로 최선의 방법으로 해결할 수 있습니까?

답변

0

CultureInfo-class로 번호를 분석하는 것이 좋습니다. 사용자 문화를 제출해야합니다. e. 지. 브라우저 설정 (Get CultureInfo from current visitor and setting resources based on that?)으로 이동하십시오.

string deNumber = "5,5"; 
string usNumber = "6.8"; 
Console.WriteLine(double.Parse(deNumber, new CultureInfo("de-DE"))); 
Console.WriteLine(double.Parse(usNumber, new CultureInfo("en-US"))); 

콘솔 출력 :

5.5 
6.8 
는 C#의 part의에서

는 다음 코드를 시도