Записи с меткой «с++»

0

Выводим длину удава в попугаях прописью!

Алексей Дубс
14 мая 2014 года

Однажды в разрабатываемом проекте мне понадобилось генерировать платёжные документы. В них, как это принято, необходимо было выводить сумму платежа прописью на русском языке. Валют могло быть три: рубли, евро и доллары. Копейки и центы прописью не выводились. А ещё нужно было прописью вывести количество позиций. Примерно так:

  • Двадцать рублей 50 копееек.

  • Тридцать три доллара 25 центов.

  • Пять позиций.

К сожалению, найти готовую бесплатную библиотеку, которая выполняла бы эти функции мне не удалось, а дополнять существующие библиотеки было труднее, чем писать с нуля :-). Потому я решил написать функции вывода чисел прописью, конкретно под мои потребности и реализовать возможность расширения количества денежных единиц.

Оказалось, что сделать это можно за несколько часов. При этом количество валют можно легко расширять, просто передавая в качестве параметров, род валюты и слова (склонения), соответствующие количеству 1, 2 и 5 элементов (например, доллар/доллара/долларов).

Так родилась небольшая, но весьма “юзабельная” библиотечка, реализующая этот функционал. “Пощупать” функционал можно в нашем репозитории на гитхабе https://github.com/HighTechnologiesCenter/russian-numbers-to-text.  You are welcome!

 

Метки: , , ,

Оставить комментарий
0

Про сахар (c#)

Андрей Трусов
2 апреля 2010 года

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

Кстати, кроме сахара есть еще и неожиданные приемы использования свойств самого языка. Подумайте, например, что делает следующий фрагмент кода на c++:

a^=b, b^=a, a^=b;

Но сейчас я хочу написать не про непривычное применение, а про встроенные в язык конструкции, которые мне показались полезными. Да, и еще, язык будет с#, а не с++.

Рассмотрим мы вот такой список: 

  • ?:
  • ??
  • <value type>?
  • as
  • using <name> = <other name>
  • using () {}
  • params
  • #region #endregion

Читать дальше »

Метки: , ,

Оставить комментарий