如何在.NET中显示否定符号?

时间:2009-08-26 01:48:35

标签: c# .net wpf winforms silverlight

我想在.NET中显示字符串中的否定符号。我想要一个字符串,代表一个看起来像这样的公式:

7--5 = 12

但是当显示时,我希望第二个减号稍微抬起,所以它看起来更自然,作为一个负号,而不是连续2个减号。

这可能吗?

7 个答案:

答案 0 :(得分:9)

不确定你想要的是一个角色,但是一个简单的解决方案(以及一个易于理解和实现的解决方案)将用括号括起你的负数:

7 - (-5) = 13

答案 1 :(得分:7)

使用Unicode字符SUPERSCRIPT MINUS (U+207B)

例如:

7-⁻5 = 13 

编辑:或者,使用MINUS SIGN (U+2212) 作为减号:

7 − ⁻5 = 13 

答案 2 :(得分:3)

如果您使用的是unicode,则可以使用 true 减号,“ - ”(U + 2212)而不是连字符 - “ - ”(U + 002D)。请注意,它不是ASCII兼容的

以下是显示它们的示例:

  

7 - -5 = 13

另外,这里有一些有趣的wiki文章,关于各种破折号连字符行: http://en.wikipedia.org/wiki/Dash#Common_dashes http://en.wikipedia.org/wiki/Minus_sign#Character_codes

答案 3 :(得分:2)

这是C#格式字符串的一个很好的资源: SteveX Compiled - Format Strings

您可以使用格式字符串的范围表达式来选择显示负数的方式。它的格式为:

{0:<PositiveFormat>;<NegativeFormat>;<ZeroFormat>}

例如,这是如何在括号中显示负数,在0中显示单词“Zero”:

{0:#;(#);Zero}

使用这种技术,我认为您可以在负格式字符串中使用上标版本的负数(即ascii代码U + 207B)进行尝试。

{0:#;⁻#;Zero}
HTH,安德森

答案 4 :(得分:1)

传统上,在数学排版中,你使用一个短划线U + 2013或减去U + 2212(但不是一个连字符!)来表示二进制(减法)和一元(否定)减去,它们用间距(前后的空格)来区分。在二进制减去之后,一元减号和它否定的数字之间没有空格。

但是如果你想进一步区分一元,我建议用上标代替U + 207B(但保持减去的间距减去):

7 - -5 = 13

答案 5 :(得分:0)

您可以使用Unicode字符U + 2212(减号):7--5 = 13

在我使用的字体中,减号显示相对于短划线略微凸起。您的结果可能会有所不同。

答案 6 :(得分:0)

Unicode“上标减去”http://www.fileformat.info/info/unicode/char/207b/index.htm

char c = '\u207b';