Почему-то так получается, что в последнее время я всё больше и больше занимаюсь Oracle, нежели Delphi.
Сегодня публикую функцию, которая форматирует число в строку прописью (словами) на английском языке. Особо примечательно то, что для этого используется встроенная в Oracle функция to_char, а не массивы слов.
За основу примера взят этот топик.
function number_in_words_en(number_ in integer) return varchar2 is result varchar2(1000); begin -- пример взят отсюда: http://www.sqlsnippets.com/en/topic-12355.html if abs(number_) > 999999999 then raise_application_error(-20100, 'Number must be between -999999999 and 999999999'); end if; result := replace(lower(to_char(to_timestamp(lpad(abs(number_), 9, '0'), 'FF9'), 'FFSP')), ' ', ' '); if sign(number_) < 0 then result := 'negative '||result; end if; return result; end;
А здесь я предлагаю другой вариант реализации подобной функции + форматирование на русском языке
0 коммент.:
Отправить комментарий