Денежная сумма прописью

Выдает прописью сумму (руб/коп) до 999 999 999 999.99. Сразу оговорюсь, алгоритм не мой, но более короткого я не встречал. Авось кому пригодится.
[code] nSumm = 999999999999.99 *!* @ 1,1 get nSumm *!* READ CLEAR @ 2,1 say(Speeling(nSumm)) FUNCTION Speeling PARAMETER nSumma PRIVATE cSumma * k - копейки cSumma = TRANSFORM(M.nSumma,'9,9,,9,,,,,,9,9,,9,,,,,9,9,,9,,,,9,9,,9,,,.99')+'k' * t - тысячи; m - миллионы; M - миллиарды cSumma = STRTRAN(M.cSumma, ',,,,,,', 'eM') cSumma = STRTRAN(M.cSumma, ',,,,,', 'em') cSumma = STRTRAN(M.cSumma, ',,,,', 'et') * e - единицы; d - десятки; c - сотни cSumma = STRTRAN(M.cSumma, ',,,', 'e') cSumma = STRTRAN(M.cSumma, ',,', 'd') cSumma = STRTRAN(M.cSumma, ',', 'c') cSumma = STRTRAN(M.cSumma, '0c0d0et', '') cSumma = STRTRAN(M.cSumma, '0c0d0em', '') cSumma = STRTRAN(M.cSumma, '0c0d0eM', '') cSumma = STRTRAN(M.cSumma, '0c', '') cSumma = STRTRAN(M.cSumma, '1c', 'сто ') cSumma = STRTRAN(M.cSumma, '2c', 'двести ') cSumma = STRTRAN(M.cSumma, '3c', 'триста ') cSumma = STRTRAN(M.cSumma, '4c', 'четыреста ') cSumma = STRTRAN(M.cSumma, '5c', 'пятьсот ') cSumma = STRTRAN(M.cSumma, '6c', 'шестьсот ') cSumma = STRTRAN(M.cSumma, '7c', 'семьсот ') cSumma = STRTRAN(M.cSumma, '8c', 'восемьсот ') cSumma = STRTRAN(M.cSumma, '9c', 'девятьсот ') cSumma = STRTRAN(M.cSumma, '1d0e', 'десять ') cSumma = STRTRAN(M.cSumma, '1d1e', 'одиннадцать ') cSumma = STRTRAN(M.cSumma, '1d2e', 'двенадцать ') cSumma = STRTRAN(M.cSumma, '1d3e', 'тринадцать ') cSumma = STRTRAN(M.cSumma, '1d4e', 'четырнадцать ') cSumma = STRTRAN(M.cSumma, '1d5e', 'пятнадцать ') cSumma = STRTRAN(M.cSumma, '1d6e', 'шестнадцать ') cSumma = STRTRAN(M.cSumma, '1d7e', 'семьнадцать ') cSumma = STRTRAN(M.cSumma, '1d8e', 'восемнадцать ') cSumma = STRTRAN(M.cSumma, '1d9e', 'девятнадцать ') cSumma = STRTRAN(M.cSumma, '0d', '') cSumma = STRTRAN(M.cSumma, '2d', 'двадцать ') cSumma = STRTRAN(M.cSumma, '3d', 'тридцать ') cSumma = STRTRAN(M.cSumma, '4d', 'сорок ') cSumma = STRTRAN(M.cSumma, '5d', 'пятьдесят ') cSumma = STRTRAN(M.cSumma, '6d', 'шестьдесят ') cSumma = STRTRAN(M.cSumma, '7d', 'семьдесят ') cSumma = STRTRAN(M.cSumma, '8d', 'восемьдесят ') cSumma = STRTRAN(M.cSumma, '9d', 'девяносто ') cSumma = STRTRAN(M.cSumma, '0e', '') cSumma = STRTRAN(M.cSumma, '5e', 'пять ') cSumma = STRTRAN(M.cSumma, '6e', 'шесть ') cSumma = STRTRAN(M.cSumma, '7e', 'семь ') cSumma = STRTRAN(M.cSumma, '8e', 'восемь ') cSumma = STRTRAN(M.cSumma, '9e', 'девять ') cSumma = STRTRAN(M.cSumma, '1e.', 'один рубль ') cSumma = STRTRAN(M.cSumma, '2e.', 'два рубля ') cSumma = STRTRAN(M.cSumma, '3e.', 'три рубля ') cSumma = STRTRAN(M.cSumma, '4e.', 'четыре рубля ') cSumma = STRTRAN(M.cSumma, '1et', 'одна тысяча ') cSumma = STRTRAN(M.cSumma, '2et', 'две тысячи ') cSumma = STRTRAN(M.cSumma, '3et', 'три тысячи ') cSumma = STRTRAN(M.cSumma, '4et', 'четыре тысячи ') cSumma = STRTRAN(M.cSumma, '1em', 'один миллион ') cSumma = STRTRAN(M.cSumma, '2em', 'два миллиона ') cSumma = STRTRAN(M.cSumma, '3em', 'три миллиона ') cSumma = STRTRAN(M.cSumma, '4em', 'четыре миллиона ') cSumma = STRTRAN(M.cSumma, '1eM', 'один миллиард ') cSumma = STRTRAN(M.cSumma, '2eM', 'два миллиарда ') cSumma = STRTRAN(M.cSumma, '3eM', 'три миллиарда ') cSumma = STRTRAN(M.cSumma, '4eM', 'четыре миллиарда ') cSumma = STRTRAN(M.cSumma, '11k', '11 копеек') cSumma = STRTRAN(M.cSumma, '12k', '12 копеек') cSumma = STRTRAN(M.cSumma, '13k', '13 копеек') cSumma = STRTRAN(M.cSumma, '14k', '14 копеек') cSumma = STRTRAN(M.cSumma, '1k', '1 копейка') cSumma = STRTRAN(M.cSumma, '2k', '2 копейки') cSumma = STRTRAN(M.cSumma, '3k', '3 копейки') cSumma = STRTRAN(M.cSumma, '4k', '4 копейки') cSumma = STRTRAN(M.cSumma, '.', 'рублей ') cSumma = STRTRAN(M.cSumma, 't', 'тысяч ') cSumma = STRTRAN(M.cSumma, 'm', 'миллионов ') cSumma = STRTRAN(M.cSumma, 'M', 'миллиардов ') cSumma = STRTRAN(M.cSumma, 'k', ' копеек') m.cSumma=allt(IIF(M.nSumma < 10**12, M.cSumma, ALLTRIM(STR(M.nSumma,20,2)))) m.cSumma=upper(left(m.cSumma,1))+lower(substr(m.cSumma,2)) RETURN m.cSumma [/code]
Автор: alexd

Автор публикации

не в сети 14 лет

alexd

0
Комментарии: 0Публикации: 1Регистрация: 30-04-2007
0
Оставить комментарий
Авторизация
*
*
Генерация пароля