Gd convert.GetCurrNumeral
Материал из GedeminWiki
(Различия между версиями)
SYSDBA (обсуждение | вклад) (→Примеры использования) |
SYSDBA (обсуждение | вклад) (→Примеры использования) |
||
| Строка 20: | Строка 20: | ||
|GetCurrNumeral(200010, '@W @F @D @C', 1, 0, caseName, 0, '', '.', ' ') || Один белорусский рубль ноль копеек | |GetCurrNumeral(200010, '@W @F @D @C', 1, 0, caseName, 0, '', '.', ' ') || Один белорусский рубль ноль копеек | ||
|- | |- | ||
| − | |GetCurrNumeral(200010, '@W @F @D @C', 1, 0, caseName, partHideFracWhenZero, | + | |GetCurrNumeral(200010, '@W @F @D @C', 1, 0, caseName, partHideFracWhenZero, '', '.', ' ') || Один белорусский рубль |
|- | |- | ||
| − | |GetCurrNumeral(200010, '@W @F @D @C', 0.15, 0, caseName, partHideWholeWhenZero + partHideFracWhenZero, | + | |GetCurrNumeral(200010, '@W @F @D @C', 0.15, 0, caseName, partHideWholeWhenZero + partHideFracWhenZero, '', '.', ' ') || Пятнадцать копеек |
|- | |- | ||
| − | |GetCurrNumeral(200010, '@W @F @D @C', 1.15, 0.01, caseName, 0, | + | |GetCurrNumeral(200010, '@W @F @D @C', 1.15, 0.01, caseName, 0, '', '.', ' ') || Один белорусский рубль пятнадцать копеек |
|- | |- | ||
| − | |GetCurrNumeral(200010, '@W @B @D @K', 1.15, 0.01, caseName, 0, | + | |GetCurrNumeral(200010, '@W @B @D @K', 1.15, 0.01, caseName, 0, '', '.', ' ') || Один руб. пятнадцать коп. |
|- | |- | ||
| − | |GetCurrNumeral(200010, '@W @B @D00 @K', 1.15, 0.01, caseName, 0, | + | |GetCurrNumeral(200010, '@W @B @D00 @K', 1.15, 0.01, caseName, 0, '', '.', ' ') || Один руб. 15 коп. |
| + | |-a | ||
| + | |GetCurrNumeral(200010, '@W @F @D00 @C', 3561.15, 0.01, caseName, 0, '', '.', ' ') || Три тысячи пятьсот шестьдесят один белорусский рубль 15 копеек | ||
|- | |- | ||
| − | |GetCurrNumeral(200010, '@W @F @D00 @ | + | |GetCurrNumeral(200010, '@W @F @D00.## @K', 3561.1586, 0, caseName, 0, '', '.', ' ') || Три тысячи пятьсот шестьдесят один белорусский рубль 15.86 коп. |
|- | |- | ||
| − | |GetCurrNumeral(200010, '@W @F @D00.## @K', 3561. | + | |GetCurrNumeral(200010, '@W @F @D00.## @K', 3561.0586, 0, caseName, 0, '', '.', ' ') || Три тысячи пятьсот шестьдесят один белорусский рубль 05.86 коп. |
|- | |- | ||
| − | |GetCurrNumeral(200010, '@W @F @ | + | |GetCurrNumeral(200010, '@W @F @D0.## @K', 3561.0586, 0, caseName, 0, '', '.', ' ') || Три тысячи пятьсот шестьдесят один белорусский рубль 5.86 коп. |
|- | |- | ||
| − | |GetCurrNumeral(200010, '@W @F @D0.## @K', 3561. | + | |GetCurrNumeral(200010, '@W @F @D0.## @K', 3561.05, 0, caseName, 0, '', '.', ' ') || Три тысячи пятьсот шестьдесят один белорусский рубль 5 коп. |
|- | |- | ||
| − | |GetCurrNumeral(200010, '@W @F @D0.## @K', 3561.05, 0, caseName, 0, | + | |GetCurrNumeral(200010, '@W#,##0 @F @D0.## @K', 3561.05, 0, caseName, 0, '', '.', ' ') || 3 561 белорусский рубль 5 коп. |
|- | |- | ||
| − | |GetCurrNumeral(200010, '@ | + | |GetCurrNumeral(200010, '@N#,##0.00 @B @@@', 3561.05, 0, caseName, 0, '', '.', ' ') || 3 561.05 руб. @@@ |
|- | |- | ||
| − | + | |GetCurrNumeral(200010, '@S @I @O', 1.15, 0.01, caseName, 0, '', '.', ' ') || Br 933 BYN | |
| − | + | ||
| − | |GetCurrNumeral(200010, '@S @I @O', 1.15, 0.01, caseName, 0, | + | |
|} | |} | ||
Версия 14:11, 27 июля 2016
| Модуль: Gd convert.pas | Тип: function |
Delphi:
function GetCurrNumeral(const ACurrKey: Integer; const AFormat: String; AValue: Double; const ARounding: Double; const ACase: Integer; const AParts: Integer; const ASubst, ADecimalSeparator, AThousandSeparator: String): String;
Описание
Конвертирует число, денежную величину в строку, для чего использует GetNumeral. Наименования целых и разменных единиц валюты берутся из справочника валют (таблица GD_CURR).
- ACurrKey
- ИД валюты из справочника валют.
- AFormat
- Строка формата.
- AValue
- Значение для преобразования
- ARounding
- Округление.
- ACase
- Регистр результирующей строки.
- AParts
- Битовая маска может включать следующие значения: partSubstWhenZero = 1 -- если значение ноль, то подставлять переданную строку, partHideFracWhenZero = 2 -- не выводить дробную часть, если она равна нулю, partHideWholeWhenZero = 4 -- не выводить целую часть если она равна нулю.
- ASubst
- Строка для подстановки, если указан флаг partSubstWhenZero.
- ADecimalSeparator
- Десятичный разделитель. Если не задан, то используется системный.
- AThousandSeparator
- Разделитель групп цифр. Если не задан, то используется системный.
Примеры использования
| Вызов функции | Результат |
|---|---|
| GetCurrNumeral(200010, '@W @F @D @C', 1, 0, caseName, 0, '', '.', ' ') | Один белорусский рубль ноль копеек |
| GetCurrNumeral(200010, '@W @F @D @C', 1, 0, caseName, partHideFracWhenZero, '', '.', ' ') | Один белорусский рубль |
| GetCurrNumeral(200010, '@W @F @D @C', 0.15, 0, caseName, partHideWholeWhenZero + partHideFracWhenZero, '', '.', ' ') | Пятнадцать копеек |
| GetCurrNumeral(200010, '@W @F @D @C', 1.15, 0.01, caseName, 0, '', '.', ' ') | Один белорусский рубль пятнадцать копеек |
| GetCurrNumeral(200010, '@W @B @D @K', 1.15, 0.01, caseName, 0, '', '.', ' ') | Один руб. пятнадцать коп. |
| GetCurrNumeral(200010, '@W @B @D00 @K', 1.15, 0.01, caseName, 0, '', '.', ' ') | Один руб. 15 коп. |
| GetCurrNumeral(200010, '@W @F @D00 @C', 3561.15, 0.01, caseName, 0, '', '.', ' ') | Три тысячи пятьсот шестьдесят один белорусский рубль 15 копеек |
| GetCurrNumeral(200010, '@W @F @D00.## @K', 3561.1586, 0, caseName, 0, '', '.', ' ') | Три тысячи пятьсот шестьдесят один белорусский рубль 15.86 коп. |
| GetCurrNumeral(200010, '@W @F @D00.## @K', 3561.0586, 0, caseName, 0, '', '.', ' ') | Три тысячи пятьсот шестьдесят один белорусский рубль 05.86 коп. |
| GetCurrNumeral(200010, '@W @F @D0.## @K', 3561.0586, 0, caseName, 0, '', '.', ' ') | Три тысячи пятьсот шестьдесят один белорусский рубль 5.86 коп. |
| GetCurrNumeral(200010, '@W @F @D0.## @K', 3561.05, 0, caseName, 0, '', '.', ' ') | Три тысячи пятьсот шестьдесят один белорусский рубль 5 коп. |
| GetCurrNumeral(200010, '@W#,##0 @F @D0.## @K', 3561.05, 0, caseName, 0, '', '.', ' ') | 3 561 белорусский рубль 5 коп. |
| GetCurrNumeral(200010, '@N#,##0.00 @B @@@', 3561.05, 0, caseName, 0, '', '.', ' ') | 3 561.05 руб. @@@ |
| GetCurrNumeral(200010, '@S @I @O', 1.15, 0.01, caseName, 0, '', '.', ' ') | Br 933 BYN |