/// <summary> /// Записывает пропись суммы в заданной валюте в <paramref name="result"/> строчными буквами. /// </summary> public static StringBuilder Пропись(decimal сумма, Валюта валюта, StringBuilder result) { decimal целая = Math.Floor(сумма); uint дробная = (uint)((сумма - целая) * 100); Число.Пропись(целая, валюта.ОсновнаяЕдиница, result); return(ДобавитьКопейки(дробная, валюта, result)); }
/// <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)); }