2012-02-22 3 views
1

일부 정수 값 (1에서 100 사이)이 있고이를 DisplayFormatString 속성이있는 진행률 표시 줄에서 사용하고 싶습니다.표시 형식 문자열, 백분율에 대한 백분율

또한 출력 문자열에 백분율 기호 '%'가 있어야합니다.

기호를 사용하면 자동으로 값이 100으로 곱해지고, 33 %를 원하는 경우 3300 %와 같은 값이 표시됩니다. 어떻게 이것을 극복 할 수 있습니까?

DisplayFormatString="0%" 
+0

DataFormatString = "{0}%"이 코드를 보여주고 우리가 볼 : 데이터 주석과 함께 작업하는 동안 –

+0

완료, 내 질문이 업데이트되었습니다. –

+0

입력이 외부 소스에서 제공됩니다. 또한 코드에서 작업하지는 않지만 ASP에서는 수행합니다. –

답변

8

DisplayFormatString으로 0'%' (작은 따옴표로 묶음)을 사용하면 숫자에 백분율 기호를 추가하는 데 도움이됩니다. 따라서 33%이됩니다.

아마도 시도해 볼 수있는 또 다른 사항은 0\\% (작동 여부는 확실하지 않지만) 원하는대로 같음 33%으로 해결해야합니다.

0

으로는 here을 보여 DisplayFormatString="P"

+0

작동하지 않습니다. 출력 '3.300,00 %' –

+0

값을 곱할 필요가 없습니다. 제어가 대신 해줍니다. – AngeloBad

+0

p와 P 모두 백분율을 표시합니다. 다른 하나가 승수를 수행하는 동안 하나의 표시가 나타납니다. – Kuffs

4

ProgressBar 당신이 "P"DisplayFormatString는이이 백분율로 표시됩니다 설정하면 사용자의 입력이 0과 1 사이에있을 것입니다 가정 사용하려고합니다.

2

문제는 사용자의 백분율 표현에 있습니다. 대개 백분율은 10 진수 0에서 1로 1은 100 %이고 0은 0 %입니다. 따라서 표준 string.Format을 사용하려면 변수를 100.0으로 나눠야합니다 (따라서 int 33은 10 진수 0.33이됩니다). 이 같은 뭔가 :

int progress = 33; 
string.Format("{0:F}", progress/100.0); 

당신이 당신의 요구에 맞는 형식을 찾기 위해 당신이 밖으로 MSDN section 확인할 수있는 솔루션을 사용하려는 해달라고합니다.

2

the documentation에 따라 백분율로 서식을 지정하면 표준 .NET 문자열 서식 지정 방법에 100이 곱해집니다. 입력을 100으로 나누거나 원래 계산 방법을 변경해야하는 것 같습니다.

2

나는 비슷한 문제가 있었다, 나는 중괄호에 0을 포장 할 때이 일을 발견했다.