使用StringFormat隐藏零值

时间:2013-10-15 20:13:00

标签: c# wpf textblock string-formatting

我提出了类似的问题months ago

在这种情况下,我有一个像这样的文本块

<TextBlock FontSize="28" Text="{Binding DataPoint.Y, StringFormat=\{0:0\\%\}}" Foreground="Black">

正如你所看到的,我的StringFormat在数字后面加一个'%'符号,如果我的数据为0.0(我在后面的代码填充组件,我的变量是一个双)我得到“0%”

但是现在我想要“”如果我的文字是0.0

到目前为止,我有这个:

 Text="{Binding DataPoint.Y, StringFormat=\{0:#.#\\%\}}"

但这会检索“%”,我怎么能得到“”?

3 个答案:

答案 0 :(得分:3)

使用Custom Numeric Format Strings。具体来说,请看“;”部分分隔符。

我相信,使用{0:#.#\\%;-#.#\\%;}会为您提供所需的输出。

答案 1 :(得分:2)

这对我有用

{0:#\\%;0:#;#}

答案 2 :(得分:0)

这些都不适用于简单的正整数。我有一个始终默认为0的字段。要隐藏它,但不添加任何小数位,请使用:

Text="{Binding BuyerNumber, StringFormat=0;;#}"

希望这可以帮助仅寻找整数的人。