2010-11-29 7 views
1

이상한 문제가 있습니다. 우리 사이트 (nl-NL/fr-FR)에 네덜란드어와 프랑스어 언어를 사용합니다.ToString() 형식이 작동하지 않습니다.

저는 gridview에 바인딩하고 있는데 이상한 점은 숫자 값 표시기 (점)가 프랑스어로 잘 표시되지 않습니다 FR-FR)

ASP.NET

protected void gridview_RowDataBound(object sender, GridViewRowEventArgs e) 
{ 
    Label lbla_min_10 = new Label(); 
    lbla_min_10 = e.Row.FindControl("lbla_min_10") as Label; 
    lbla_min_10.Text = ((int)DataBinder.Eval(e.Row.DataItem, "a_min_10")).ToString("#,#.###"); 
    //.... 
} 

예 DB 값은 24369
이며 네덜란드어에서는 24.369와

을 표시합니다. 프랑스어는 24 369 -> DOT 구분 기호가 없지만 빈 공간이 표시됩니다.

사람이 어떤 생각을 가지고 있습니까 .....

이 나는 ​​소스보기를 보았고, FR에 NL에서 (점) 및 (공간) 프로그래머입니다 제외하고는 코드가 같은 외모?

네덜란드어 (nl-NL)가 아닌 프랑스어 (fr-FR)가 아닌 이유는 무엇입니까?

답변

2

"nl-BE"및 "fr-BE"를 사용해보십시오. 숫자에 관해서도 같은 서식을 사용합니다.

String.Format("{0:##,###}", 12345); // nl-NL: 12.345 
String.Format("{0:##,###}", 12345); // fr-FR: 12 345 
String.Format("{0:##,###}", 12345); // nl-BE: 12.345 
String.Format("{0:##,###}", 12345); // fr-BE: 12.345 
1

'Fr Culture'에는 1000과 100 사이에 구분 기호가 없습니다. 그래서 당신이 네덜란드어로 10.000을 쓰면 프랑스에 10 000을 쓸 수 있습니다. 왜 문제입니까?

+0

감사합니다. 반 .... 모든 문서가 있습니다 ... 무엇이 무엇입니까? 나는 FR이 공간 분리자를 가지고 있고 NL이 있음을 의미한다. 구분 기호 ... 그래서 개요를 가질 수 있습니까? – ethem

+0

http://en.wikipedia.org/wiki/Decimal_mark 여기에서는 설명을 볼 수 있으며 페이지 중간에 구분 기호로 공백, 점 또는 혼수 상태를 사용하는 국가 목록을 볼 수 있습니다. 그것은 단지 역사와 습관 때문입니다 . – bAN

1

프랑스가 수천을 나타내는 방식입니다. 공간이 있습니다. 네덜란드어는. (정차), Engish는 a (쉼표)를 사용합니다.

그래서 지역 서식이 예상대로 작동합니다.

0

글쎄, 올바르게 동작합니다. 문제는 실제로 (1,000 단위) 구분 기호를 그룹화하는 것입니다. 항상 정식으로 서식을 지정하려면 CultureInfo.InvariantCulture를 두 번째 매개 변수로 추가하십시오.

+0

감사합니다. 모두 유용합니다. 나는 "공간"이 프랑스어에 대한 천개 구분자라는 것을 몰랐다. 문제는 다음과 같습니다. dbvalue 123456은 123.456과 123,456을 의미합니다. 누군가가 코드 예제를 제공 할 수 있습니까? cultureinfo.invariantculture를 보았지만 누군가 샘플을 줄 수 있습니까? – ethem

관련 문제