【发布时间】:2011-11-13 08:14:50
【问题描述】:
我有一个图表控件,它在顶部显示带有值的列(带有标签的系列)。这些值来自数据库并且它们已经是百分比格式(即:显示 12.54 而不是 0.1254)
我想在数字旁边添加“%”。
当我尝试使用“LabelFormat”属性并将其设置为“P2”时,我得到如下数字:
1254.00% !!
我认为 P2 正在做一些计算!
我只想在数字旁边添加“%”符号。就是这样
谁能帮忙?
【问题讨论】:
我有一个图表控件,它在顶部显示带有值的列(带有标签的系列)。这些值来自数据库并且它们已经是百分比格式(即:显示 12.54 而不是 0.1254)
我想在数字旁边添加“%”。
当我尝试使用“LabelFormat”属性并将其设置为“P2”时,我得到如下数字:
1254.00% !!
我认为 P2 正在做一些计算!
我只想在数字旁边添加“%”符号。就是这样
谁能帮忙?
【问题讨论】:
好的,我自己找到了答案!谢谢你的一切..
答案如下:
要在数字旁边显示“%”,只需执行以下操作:
Chart1.Series["MySeries"].Label = "#VALY"+"%";
OR(例如 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>
【讨论】: