2011-11-13 10 views
6

Mam kontrolę wykresu, który wyświetla kolumny z wartościami na górze (seria z etykietami). Te wartości pochodzą z bazy danych i są już w formacie procentowym (tj .: wyświetlając 12.54, nie 0.1254)Wykres ASP.NET dodać procent obok numeru

Chcę dodać "%" obok liczb.

gdy próbuję użyć „LabelFormat” własność i ustawić go „P2” i uzyskać numery tak:

1254,00% !!

Myślę, że P2 wykonuje pewne obliczenia!

Po prostu chcę dodać symbol "%" obok numeru. to jest

może ktoś pomóc?

Odpowiedz

6

Ok, sam znalazłem odpowiedź! Dzięki za wszystko ..

Oto odpowiedź:

aby wyświetlać tylko „%” obok numeru, wystarczy wykonać następujące czynności:

Chart1.Series["MySeries"].Label = "#VALY"+"%"; 

OR (na osi Y dla przykład :)

Chart1.ChartAreas[0].AxisY.LabelStyle.Format = "{#}%"; 

To działało dobrze dla mnie!

2

Specyfikator formatu "P" pobiera liczbę i traktuje ją jako procent, więc 1 zostanie przetłumaczony na 100%. Nie możesz zwrócić procentu jak 0.1254?

+0

Nie, próbowałem tego, ale to nie działa prawidłowo. ponieważ Oś Y zawiera się w przedziale od 0 do 100. wszystkie wartości były wtedy na osi X, ponieważ nie przekroczyły 1! – Yousi

+0

Próbowałem zrobić coś innego .. zamiast za pomocą "LabelFormat" .. Właśnie użyłem właściwości "Label" i ustawiłem wartość na "#PERCENT" .. to działało dobrze, ale zauważyłem, że liczby się zmieniły! zamiast wyświetlać 8,48%, otrzymuję 13,99%! – Yousi

0
 <ChartAreas> 
     <asp:ChartArea Name="ChartArea1"> 
      <AxisY > 
       <LabelStyle Format="{0:p}" /> 
      </AxisY> 
     </asp:ChartArea> 
    </ChartAreas> 
3

Łącząc rozwiązanie Yousi jest ze skutecznością Alex Z

Jeśli wartość jest w formacie dziesiętnym, np 0,14 = 14%, a następnie użyć tego znaczników:

<ChartAreas> 
     <asp:ChartArea Name="ChartArea1"> 
      <AxisY > 
       <LabelStyle Format="{0:p}" /> 
      </AxisY> 
     </asp:ChartArea> 
    </ChartAreas> 

Jeśli wartość jest rzeczywista liczba chciałbyś zobaczyć, tylko z% po użyć tego:

<ChartAreas> 
     <asp:ChartArea Name="ChartArea1"> 
      <AxisY > 
       <LabelStyle Format="{#}%" /> 
      </AxisY> 
     </asp:ChartArea> 
    </ChartAreas> 

tj Jeśli spróbujesz pierwszy blok kodu powyżej i zobacz wartości takie jak 1000%, gdy oczekujesz 10% użycia drugiego.

+0

Awesome! działa jak marzenie! –

1

Lepiej skorzystać z poniższego uniknąć pomnożenie wartości procentowe o 100

<ChartAreas> 
     <asp:ChartArea Name="ChartArea1"> 
      <AxisY > 
       <LabelStyle Format="{p0}" /> 
      </AxisY> 
     </asp:ChartArea> 
    </ChartAreas> 
Powiązane problemy