Как я могу отобразить отрицательный символ в .NET? - PullRequest
8 голосов
/ 26 августа 2009

Я хочу отобразить отрицательный символ из строки в .NET. Я хочу строку, которая представляет уравнение, которое выглядит примерно так:

7--5 = 12

Но при отображении я хочу, чтобы 2-й знак минуса был слегка приподнят, чтобы он выглядел более естественно как отрицательный знак, а не только 2 знака минус подряд.

Возможно ли это?

Ответы [ 7 ]

9 голосов
/ 26 августа 2009

Не уверен, что есть символ для того, что вы хотите, но простое решение (и такое, которое было бы легко понять и реализовать) заключалось бы в заключении вашего отрицательного числа в скобки:

7 - (-5) = 13
7 голосов
/ 26 августа 2009

Используйте символ Unicode SUPERSCRIPT MINUS (U+207B) .

Например:

7-⁻5 = 13 

РЕДАКТИРОВАТЬ : Или с MINUS SIGN (U+2212) для минуса:

7 − ⁻5 = 13 
3 голосов
/ 26 августа 2009

При условии, что вы используете юникод, вы можете использовать true знак минус, "-" (U + 2212), а не дефис-минус, "-" (U + 002D). Просто помните, что он не совместим с ASCII

Вот ваш пример, показывающий их:

7 - −5 = 13

Кроме того, вот несколько забавных вики-статей о всевозможных черточках-дефис-минус: http://en.wikipedia.org/wiki/Dash#Common_dashes http://en.wikipedia.org/wiki/Minus_sign#Character_codes

2 голосов
/ 26 августа 2009

Это отличный ресурс по форматным строкам в C #: SteveX Compiled - форматирование строк

Вы можете выбрать способ отображения отрицательного числа, используя выражение диапазона для строки формата. Это в формате:

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

Например, вот как отобразить отрицательное число в скобках и слово «ноль» для 0:

{0:#;(#);Zero}

Используя эту технику, я думаю, что вы можете попробовать ее с надстрочной версией минуса (код ascii U + 207B) в строке отрицательного формата.

{0:#;⁻#;Zero}

HTH, Андерсон

1 голос
/ 26 августа 2009

Традиционно в математической типографии вы используете тире U + 2013 или минус U + 2212 (но не дефис!) Как для двоичного (вычитание), так и для одинарного (отрицание) минуса, и они различаются пробелами (пробелы до и после двоичного минуса нет пробела между унарным минусом и числом, которое он отрицает).

Но если вы хотите еще больше различать унарные символы, я бы рекомендовал заменить верхний индекс минус U + 207B (но оставьте интервал вокруг минус вычитания):

7 - ⁻5 = 13

0 голосов
/ 26 августа 2009

Юникод "верхний индекс минус" http://www.fileformat.info/info/unicode/char/207b/index.htm

char c = '\u207b';
0 голосов
/ 26 августа 2009

Вы можете использовать символ Unicode U + 2212 (знак минус): 7-−5 = 13

В шрифте, который я использую, знак минуса отображается слегка поднятым относительно тире. Ваши результаты могут отличаться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...