我有一个图表控件,它在顶部显示带有值的列(带有标签的系列)。这些值来自数据库并且它们已经是百分比格式(即:显示 12.54 而不是 0.1254)
我想在数字旁边添加“%”。
当我尝试使用“LabelFormat”属性并将其设置为“P2”时,我得到如下数字:
1254.00% !!
我认为P2正在做一些计算!
我只想在数字旁边添加“%”符号。就是这样
谁能帮忙?
好的,我自己找到了答案!谢谢你的一切..
这是答案:
为了在数字旁边显示“%”,只需执行以下操作:
Chart1.Series["MySeries"].Label = "#VALY"+"%";
或(例如 Y 轴:)
Chart1.ChartAreas[0].AxisY.LabelStyle.Format = "{#}%";
这对我来说很好!
将 Yousi 的解决方案与 Alex Z 的解决方案相结合
如果您的值是十进制格式,例如 0.14 = 14%,则使用此标记:
<ChartAreas>
<asp:ChartArea Name="ChartArea1">
<AxisY >
<LabelStyle Format="{0:p}" />
</AxisY>
</asp:ChartArea>
</ChartAreas>
如果您的值是您希望看到的实际数字,只需使用 % 后使用:
<ChartAreas>
<asp:ChartArea Name="ChartArea1">
<AxisY >
<LabelStyle Format="{#}%" />
</AxisY>
</asp:ChartArea>
</ChartAreas>
即,如果您尝试上面的第一个代码块并看到像 1,000% 这样的值,而您期望 10% 使用第二个。
“P”格式说明符接受一个数字并将其视为百分比,因此 1 将转换为 100%。你不能返回像 0.1254 这样的百分比吗?
最好在下面使用以避免将百分比值乘以 100
<ChartAreas>
<asp:ChartArea Name="ChartArea1">
<AxisY >
<LabelStyle Format="{p0}" />
</AxisY>
</asp:ChartArea>
</ChartAreas>
<ChartAreas>
<asp:ChartArea Name="ChartArea1">
<AxisY >
<LabelStyle Format="{0:p}" />
</AxisY>
</asp:ChartArea>
</ChartAreas>
其显示百分比为 10.7%
<asp:Series Name="SatisfiedSeries" BorderWidth="2" Color="#FFC107" IsValueShownAsLabel="true" Font="Verdana, 8pt, style=Bold" LabelForeColor="#E0A800" LabelBorderWidth="2" LabelFormat="#.#%"></asp:Series>