我想在.NET中显示字符串中的否定符号。我想要一个字符串,代表一个看起来像这样的公式:
7--5 = 12
但是当显示时,我希望第二个减号稍微抬起,所以它看起来更自然,作为一个负号,而不是连续2个减号。
这可能吗?
答案 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';