- 0 Обсуждение
ЦенаМедные
Страница-шаблон
Содержание |
Этот шаблон принимает в качестве единственного параметра число медных монет, а затем производить преобразование его с помощью шаблона {{Цена}} в соответствующий формат, отображающий количество золотых, серебряных и медных монет.
Полезно для сумм, которые необходимо автоматически рассчитать, при этом используется функция синтаксический анализатора #expr:.
The inverse of this template is {{costcopper}}, most commonly referenced using its {{sell}} alias.
Синтаксис
Править
{{ЦенаМедные|<количество>}}
количество – число денег, выраженное в количестве медных монет. Число золотых, серебряных и медных монет отображается только тогда, когда их число не равно 0.
Если количество нулевое, то результат – 0
.
Примеры
Править
| Количество | ЦенаМедные |
|---|---|
| 1234567 | 123 |
| 123456 | 12 |
| 3456 | 34 |
| 56 | 56 |
| 200 | 2 |
| 30000 | 3 |
| 40056 | 4 |
| 0 | 0 |
| <пусто> |
Описание кода
Править
1 {{Цена
2 |з= {{ #if: {{{1|}}}
3 | {{ #ifexpr: {{{1}}}=0 or {{{1}}}>=10000
4 | {{ #expr: floor( {{{1|0}}} / 10000 ) }}
5 }}
6 }}
7 |с= {{ #ifexpr:
8 {{ #expr: floor( ({{{1|0}}} mod 10000) / 100 ) }} > 0
9 | {{ #expr: floor( ({{{1|0}}} mod 10000) /100) }}
10 }}
11 |м= {{ #ifexpr:
12 {{ #expr: ({{{1|0}}} mod 100) }} > 0
13 | {{ #expr: {{{1|0}}} mod 100) }}
14 }}
15 }}
- Вызов шаблона {{Цена}}.
- Начало формирования параметра для золотых монет только в том случае, если заполнен параметр количество.
- Проверка количества на нулевое значение и на значение, достаточное для расчёта золотых монет (100*100=10000 медных на одну золотую монету).
- При удовлетворении условиям, делим количество на 10000, производя при этом округление в меньшую сторону, так как нас интересует целочисленное значение.
- Закрывается функция #ifexpr.
- Закрывается функция #if.
- Начало формирования параметра для серебряных монет только в том случае, если количество серебряных монет больше 0.
- Рассчитывается число серебряных монет (от 0 до 99). Фактически это остаток при делении количества на 10000, разделённый на 100.
- При выполнении условия заполняется рассчитанный параметр для серебряных монет. Расчёт производиться так же, как и в предыдущей строке.
- Закрывается функция #ifexpr.
- Начало формирования параметра для медных монет только в том случае, если количество медных монет больше 0.
- Рассчитывается число медных монет (от 0 до 99). Фактически это остаток при делении количества на 100.
- При выполнении условия заполняется рассчитанный параметр для медных монет. Расчёт производиться также, как и в предыдущей строке.
- Закрывается функция #ifexpr.
- Закрывается вызов шаблона форматирования цены.