СУММА ПРОПИСЬЮ 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

Реклама
Новое
Реклама