FoxPro Club Главная

Конференция Решения Фотоальбом Сайт М.Дроздова Статьи Файловый архив Книга Visual FoxPro 9.0 Русский Help для Visual FoxPro
Пользователей: 9112
Вход
Денежная сумма прописью (укр)

Тоже не претендуя на авторство, выкладываю украинский вариант:


 
Прислал: Sribna   Категория: Разное


  
  FUNCTION Speeling  
  PARAMETER nSumma  
  PRIVATE cSumma  
    
  IF nSumma=0  
    RETURN 'нуль гривень 00 копійок'  
  ENDIF  
    
   * 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=lower(left(m.cSumma,1))+lower(substr(m.cSumma,2))  
    
  RETURN m.cSumma  
  

 
Сделайте оценку этого решения Плохо Удовлетворительно Так себе Хорошо Отлично Текущая оценка: (2.75)
Дополнения пользователей
Денежная сумма прописью (укр)
[+][?]
Sribna
30.05.08 14:16:10

Приношу свои извинения за неграмотность - нужно заменить "дев'ятьсот" на "дев'ятсот"
[Дополнить]



© 2000-2017 Fox Club 
При размещении любых материалов с сайта на других ресурсах- прямая ссылка на www.foxclub.ru обязательна
Яндекс.Метрика