Код для вычисления символа Юникод для дроби в C # .NET - PullRequest
0 голосов
/ 11 августа 2010

Я ищу способ в C # .NET, чтобы получить символ Unicode, соответствующий данной дроби.В моем коде у меня есть числитель и знаменатель, и мне нужно понять, как получить из них соответствующий символ Unicode, который затем отображается в комбинированном окне WinForms.

Есть идеи?

Ответы [ 2 ]

4 голосов
/ 11 августа 2010

Вам потребуется таблица соответствия, алгоритмический метод недоступен (кодовые точки Unicode не выделяются таким образом).

Конечно, большинство фракций не имеют кодовой точки, только несколько "общих" фракций были добавлены.

И, конечно, даже с кодовой точкой ваша гарнитура может не включать их.

1 голос
/ 11 августа 2010
public static string VulgarFraction(int numerator, int denominator)
{
  if(denominator == 0)
    return "\u221E";
  if(denominator < 0)
    return VulgarFraction(-numerator, -denominator);
  return numerator.ToString() + '\u2044' + denominator.ToString();
}

Предварительно составленные вульгарные фракции включены для совместимости и не поощряются.Используйте U + 2044 FRACTION SLASH, чтобы указать дробь.Это указывает на желание выполнить рендеринг как часть системы макетов, а также широко поддерживается менее изощренными методами рендеринга.

Если вам действительно нужно использовать предварительно составленные символы, тогда таблица поиска - этоединственный разумный способ (вы можете создать большой набор ветвлений if и elses, но это больше работы для меньшей производительности).

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