예제 #1
0
        /// <summary>
        /// ########## ####### ##### # ######## ###### # <paramref name="result"/> ######### #######.
        /// </summary>
        public static StringBuilder Пропись(decimal сумма, Валюта валюта, StringBuilder result)
        {
            decimal целая   = Math.Floor(сумма);
            uint    дробная = (uint)((сумма - целая) * 100);

            Число.Пропись(целая, валюта.ОсновнаяЕдиница, result);
            return(ДобавитьКопейки(дробная, валюта, result));
        }
예제 #2
0
        /// <summary>
        /// ########## ####### ##### # ######## ###### # <paramref name="result"/> ######### #######.
        /// </summary>
        public static StringBuilder Пропись(double сумма, Валюта валюта, StringBuilder result)
        {
            double целая = Math.Floor(сумма);

            // ######### 100 ## ###### ######### ######## ###### ##########
            // ########, ##### ##### = 1234.51.
            uint дробная = (uint)(сумма * 100) - (uint)(целая * 100);

            Число.Пропись(целая, валюта.ОсновнаяЕдиница, result);
            return(ДобавитьКопейки(дробная, валюта, result));
        }
예제 #3
0
        public static StringBuilder ПрописьБезКопеек(decimal сумма, Валюта валюта, StringBuilder result)
        {
            decimal целая   = Math.Floor(сумма);
            uint    дробная = (uint)((сумма - целая) * 100);

            Число.Пропись(целая, валюта.ОсновнаяЕдиница, result);

            result.Append(Число.Согласовать(валюта.ДробнаяЕдиница, дробная));

            return(result);
        }
예제 #4
0
        private static StringBuilder ДобавитьКопейки(uint дробная, Валюта валюта, StringBuilder result)
        {
            result.Append(' ');

            // ### ####### ########### #######, ### ######### ## ### ##################.
            result.Append(дробная.ToString("00"));
            //result.AppendFormat ("{0:00}", #######);

            result.Append(' ');
            result.Append(Число.Согласовать(валюта.ДробнаяЕдиница, дробная));

            return(result);
        }
예제 #5
0
        public static void ConvertIntNumberColumnsToWords(this Entity entity,
                                                          IEnumerable <string> numberColumnNames,
                                                          Валюта currency,
                                                          Func <string, string> getStringColumnName)
        {
            var sb = new StringBuilder();

            foreach (var numberColumnName in numberColumnNames)
            {
                double amount = entity.GetTypedColumnValue <double>(numberColumnName);
                Число.Пропись(amount, currency.ОсновнаяЕдиница, sb);
                string stringColumnName = getStringColumnName(numberColumnName);
                entity.SetColumnValue(stringColumnName, sb.ToString());
                sb.Clear();
            }
        }
예제 #6
0
 /// <summary>
 /// ########## ####### ######## #####.
 /// </summary>
 public static string Пропись(double n, Валюта валюта, Заглавные заглавные)
 {
     return(Число.ApplyCaps(Пропись(n, валюта, new StringBuilder()), заглавные));
 }
예제 #7
0
 /// <summary>
 /// ########## ####### ######## ##### ######### #######.
 /// </summary>
 public static string Пропись(decimal n, Валюта валюта)
 {
     return(Число.ApplyCaps(Пропись(n, валюта, new StringBuilder()), Заглавные.Нет));
 }