我有一些整数值(介于1和100之间),我想在具有DisplayFormatString属性的进度条中使用它们。
我还希望在输出字符串中有百分号'%‘。
问题是,通过使用符号,它会自动将我的值乘以100,并显示我的值,比如3300%,而我希望它们是33%。我怎样才能克服这个问题呢?
DisplayFormatString="0%"
发布于 2012-02-22 09:36:12
尝试使用0'%'
作为DisplayFormatString
,(单引号中的百分比)这将有助于实现将百分比符号附加到您的数字。所以你得到了33%
。
您可以尝试的另一件事可能是0\\%
(不确定它是否可以工作),但应该可以像您希望的那样工作到相同的33%
。
发布于 2012-02-22 09:23:32
ProgressBar
假设您的输入介于0和1之间。当您将DisplayFormatString
设置为"P"
时,它将显示为百分比。
发布于 2012-02-22 09:23:53
问题出在你对百分比的表述上。通常百分比是从0到1的小数,其中1是100%,0是0%。因此,如果你想使用标准的string.Format
,你必须将你的变量除以100.0 (这样你的int33就变成了一个十进制的0.33)。如下所示:
int progress = 33;
string.Format("{0:F}", progress / 100.0);
如果您不想使用该解决方案,可以查看MSDN section以找到适合您需要的格式。
https://stackoverflow.com/questions/9391851
复制相似问题