2009-12-28 5 views
8

내 XAML 코드에 이중 값을 형식화하는 데 약간의 문제가 있습니다.소수점 구분 기호가있는 XAML의 형식 값은?

double price = 10300.455; 

이 숫자는 미국의 시스템에 10,300.45으로 독일 시스템 10.300,45로 표시되어야합니다.

지금까지 수를 다음과 같이 제한했습니다.

Binding="{Binding price, StringFormat=F2}" 

그러나 결과는 10300.45이고 그게 내가 생각했던 것이 아니다. 변환기를 사용하여이 문제를 쉽게 해결할 수 있지만 다른 방법이있는 경우이를 수행하고 싶지 않습니다. 올바른 포매터라면 좋을 것입니다.

답변

21
Binding="{Binding price, StringFormat=N2}" 

F 대신 N을 시도하십시오. N은 다른 문화권을 기반으로하는 숫자 서식이며 자동으로 숫자 서식을 표시합니다. 아래 콘솔 응용 프로그램 샘플 코드를보십시오. 그러나 바인딩이 올바른 문화권을 사용하면 올바른 값을 얻을 수 있습니다. F2은 고정 소수점 표기법입니다. 문자열 형식과 용도의 다른 빌드에 관한 누구나 궁금 내용

double price = 10300.455; 

    Console.WriteLine(price.ToString("N2", 
     CultureInfo.CreateSpecificCulture("de-DE"))); 
    // displays 10.300,46 

    Console.WriteLine(price.ToString("N2", 
     CultureInfo.CreateSpecificCulture("en-US"))); 
    // displays 10,300.46 
+2

이러한 형식에 대한 참조 문서가 있습니까? –

관련 문제