Страница 1 из 1

число в Текстовом виде

Добавлено: 12 мар 2014, 18:36
Espada
привет. Хотел узнать, как записать число текстом? вроде бы есть функция перевода, но в Helpe я её не нашел(
пример: нужно отобразить число 2820 так: Две тысячи восемьсот двадцать евро. Спасибо

Re: число в Текстовом виде

Добавлено: 12 мар 2014, 18:59
Den
на форуме есть поиск. наберите там что-нить вроде "число прописью"

Re: число в Текстовом виде

Добавлено: 12 мар 2014, 19:10
Ольга
DoubleToString(KLVAL.nrec, 2820)
или
DoubleToStr(2820, '\n4 евро')

:grin:

Re: число в Текстовом виде

Добавлено: 12 мар 2014, 19:45
LaaLaa
Ольга рассказала про функции для VIP и отчетов на FCOM.

А для отчетов на FastReport есть еще другая функция FloatToWords

Код: Выделить всё

What’s New 102.26899

Добавил функцию для печати числа прописью:

FloatToWords(Sum: double; RubStr, KopStr: string; KopWord, FirstUp: boolean): string;

Sum     - Число
*RubStr  - Строка с наименованием валюты
          по умолчанию "рубль;рубля;рублей"
*KopStr  - Строка с наименованием сотых валюты
          по умолчанию "копейка;копейки;копеек"
KopWord - Копейки числом или прописью (True - прописью)
FirstUp - Первая буква в верхнем регистре (True - в верхнем регистре)

•	Для того чтобы выводились значения поучолчанию, нужно передавать пустую строку.

Доработки: ПИР 102.72360 и 102.76471
Добавлено два необязательных параметра HideKop и Gender

FloatToWords(Sum: double; RubStr, KopStr: string; KopWord, FirstUp: boolean; HideKop: boolean = False; Gender: word = gndMF): string',

HideKop - прятать копейки (по умолчанию False - копейки выводятся).  Параметр задает нужно ли выводить копейки.
Gender.
  Параметр задает в каком роде (мужском, женском, среднем) выдавать результат.
  Параметр влияет как на целую часть (рубли), так и на дробную (копейки).
В скриптах FastReport дополнительно стали доступны девять констант.
От слов:
Male gender   - мужской род
Female gender - женский род
Neuter gender - средний род
Соответственно:
  gndMM - рубли в мужском роде, копейки в мужском роде
  gndMF - рубли в мужском роде, копейки в женском роде
  gndFM - рубли в женском роде, копейки в мужском роде
  gndFF - рубли в женском роде, копейки в женском роде
  gndMN - рубли в мужском роде, копейки в среднем роде
  gndNM - рубли в среднем роде, копейки в мужском роде
  gndFN - рубли в женском роде, копейки в среднем роде
  gndNF - рубли в среднем роде, копейки в женском роде
  gndNN - рубли в среднем роде, копейки в среднем роде

По умолчанию значение gndMF - рубли в мужском роде, копейки в женском роде

Re: число в Текстовом виде

Добавлено: 13 мар 2014, 08:33
Алексей
будем знать... хотя можно в поток сразу строку кидать из випа :)

Re: число в Текстовом виде

Добавлено: 17 мар 2014, 02:01
LaaLaa
Алексей писал(а):будем знать... хотя можно в поток сразу строку кидать из випа :)
Но если потребуется отчет с итогами по странице прописью то тогда http://tyumbit.ru/gal_forum/viewtopic.php?f=8&t=10332

Re: число в Текстовом виде

Добавлено: 19 мар 2014, 08:02
Алексей
спасибо, как раз понадобились суммы по страницам в цифрах. вывел.
НО не могу найти как вывести число прописью БЕЗ валют копеек и прочего? просто "Триста двадцать пять" ?

Re: число в Текстовом виде

Добавлено: 19 мар 2014, 15:24
Irina_
См.в документации примеры по
function DoubleToStr(num: double, format: string): string;

Re: число в Текстовом виде

Добавлено: 19 мар 2014, 16:52
Алексей
речь наверное о DoubletoString, но речь о FastReport... там эта функция даёт ошибку.

воспользовался всё той же FloatToWords, без валюты, параметр ";;",вывел копейки цифрами (00) и потом вырезал :)
правда потом оказалось - всё это не нужно. удалил :)

Re: число в Текстовом виде

Добавлено: 21 мар 2016, 16:05
RAJAH
Что я делаю не так? Пишу:

Код: Выделить всё

FloatToWords(kotp, 'целых', 'десятых', false, false)
Получаю:
девяносто 00

Re: число в Текстовом виде

Добавлено: 21 мар 2016, 18:16
edward_K
Можно чутка поколдовать и заюзать свои функции в фасте.
1. Объявить функции STatic - как можно посмотреть в ExtAttrClassInfo.vih
К слову это транзитный объект - в нем используются функции из объектов по работе с ВА и Вн.классификатором.
2. Чуть сложнее зарегить его использование для в Ctrl+F4

Код: Выделить всё

handler with replace Test_BeforeEnterModule on ExtensionPoint epBeforeEnterModule
                     (aContour: String; aModule: String)
Action
{
  RegisterGlobalIfc('C_ExtClass::iExtAttrClassInfo')
}
3. А теперь в фасте можно юзать

Код: Выделить всё

[CompileVipExpression('sGetAttr(coDogovor, ' + IntToStr(<DOCS."CDOGOVOR">) + ', 
''Наименование внешнего атрибута'')')]
ищите в описаниях к патчам 102.138534, 101.58174.
Без 2 у меня не выходило использовать ВА в любом месте в фасте.
В вашем же случае никто не запрещает вам вызвать DoubleToStr таким же методом - она доступна по Ctrl+F4 - значит можно использовать.
Вообще посмотрите повнимательней на доступные функции.

Re: число в Текстовом виде

Добавлено: 22 мар 2016, 09:09
RAJAH
edward_K писал(а):В вашем же случае никто не запрещает вам вызвать DoubleToStr таким же методом
Действительно, спасибо!