СУММА ПРОПИСЬЮ DELPHI
Сумма прописью - это одно из часто используемых заданий при написании программ на Delphi, так как это требуется в различных сферах, где важна точность и четкость информации. Для реализации функции перевода числа в строку с суммой прописью необходимо использовать алгоритм разбиения числа на разряды и замены цифр на прописные эквиваленты.
Для примера, покажем код, реализующий функцию перевода числа в сумму прописью для суммы до 999 999:
function IntToWords(Value: Integer): string;const MaxValue = 999999;var ZeroToNineteen: array[0..19] of string = ('ноль', 'один', 'два', 'три', 'четыре', 'пять', 'шесть', 'семь', 'восемь', 'девять', 'десять', 'одиннадцать', 'двенадцать', 'тринадцать', 'четырнадцать', 'пятнадцать', 'шестнадцать', 'семнадцать', 'восемнадцать', 'девятнадцать'); Tens: array[2..9] of string = ('двадцать', 'тридцать', 'сорок', 'пятьдесят', 'шестьдесят', 'семьдесят', 'восемьдесят', 'девяносто'); Hundreds: array[1..9] of string = ('сто', 'двести', 'триста', 'четыреста', 'пятьсот', 'шестьсот', 'семьсот', 'восемьсот', 'девятьсот'); Rubles: array[1..3] of string = ('тысяча', 'тысячи', 'тысяч');var I, HundredsDigit, TensDigit, OnesDigit: Integer;begin if Value > MaxValue then raise Exception.Create('Value too large'); if Value = 0 then Exit(ZeroToNineteen[0]); Result := ''; if Value div 100 > 0 then begin HundredsDigit := Value div 100; Result := Hundreds[HundredsDigit]; Value := Value - HundredsDigit * 100; end; if Value = 0 then Exit(Result); if Value < 20 then Exit(Result + ' ' + ZeroToNineteen[Value]); TensDigit := Value div 10; OnesDigit := Value mod 10; Result := Result + ' ' + Tens[TensDigit]; if OnesDigit > 0 then Result := Result + ' ' + ZeroToNineteen[OnesDigit]; Value := Value mod 10; if Value > 0 then begin if ((Value mod 10) > 4) or ((Value mod 100) in [11..19]) then Result := Result + ' ' + Rubles[3] else if Value mod 10 = 1 then Result := Result + ' ' + Rubles[1] else Result := Result + ' ' + Rubles[2]; end;end;
данный код будет работать с числами до 999 999, но для больших значений необходимо будет доработать алгоритм.
Числа прописью в Excel быстро и без вспомогательных инструментов!
Построение графиков функции в Delphi часть 1
Число в excel как преобразовать и написать прописью
Учим цифры и учимся их писать. Математика 1 класс.
DELPHI Урок 6 Связи между таблицами (ADOQuery)
Программирование в Delphi Урок 3 2 Работа с текстом, строковые функции Length, Pos и другие
как ... написать сумму прописью без макросов в Excel
Delphi - Memo
How To Install Delphi Comport Library Or Component