Модуль:Math/tonumber/doc: различия между версиями

Материал из Народные Сказки
(Новая страница: «Этот модуль содержит функции для конвертации строк в числа. == Вызываемые функции == === integer === <pre>{{#invoke:math/tonumber|integer|…}}</pre> Возвращает первое целое положительное число, найденное в строке. {| class="wikitable" ! Входное значение ! Результат |- | 2014 | {{#invoke:math/tonumber|integer|2014...»)
 
мНет описания правки
 
Строка 3: Строка 3:
== Вызываемые функции ==
== Вызываемые функции ==
=== integer ===
=== integer ===
<pre>{{#invoke:math/tonumber|integer|…}}</pre>
<pre>{{#invoke:Math/tonumber|integer|…}}</pre>
Возвращает первое целое положительное число, найденное в строке.
Возвращает первое целое положительное число, найденное в строке.
{| class="wikitable"
{| class="wikitable"
Строка 10: Строка 10:
|-
|-
| 2014
| 2014
| {{#invoke:math/tonumber|integer|2014}}
| {{#invoke:Math/tonumber|integer|2014}}
|-
|-
| <nowiki>[[2014]]</nowiki>
| <nowiki>[[2014]]</nowiki>
| {{#invoke:math/tonumber|integer|[[2014]]}}
| {{#invoke:Math/tonumber|integer|[[2014]]}}
|-
|-
| <nowiki>[[2014 год|2014]]</nowiki>
| <nowiki>[[2014 год|2014]]</nowiki>
| {{#invoke:math/tonumber|integer|[[2014 год|2014]]}}
| {{#invoke:Math/tonumber|integer|[[2014 год|2014]]}}
|-
|-
| <nowiki>[[31 декабря]] [[2014]]</nowiki>
| <nowiki>[[31 декабря]] [[2014]]</nowiki>
| {{#invoke:math/tonumber|integer|[[31 декабря]] [[2014]]}}
| {{#invoke:Math/tonumber|integer|[[31 декабря]] [[2014]]}}
|-
|-
| Як-42
| Як-42
| {{#invoke:math/tonumber|integer|Як-42}}
| {{#invoke:Math/tonumber|integer|Як-42}}
|}
|}
Используется в шаблонах, когда надо.
Используется в шаблонах, когда надо.


=== quantity ===
=== quantity ===
<pre>{{#invoke:math/tonumber|quantity|…}}</pre>
<pre>{{#invoke:Math/tonumber|quantity|…}}</pre>
Возвращает количественное значение из строки.
Возвращает количественное значение из строки.
{| class="wikitable"
{| class="wikitable"
Строка 34: Строка 34:
|-
|-
| 100 000
| 100 000
| {{#invoke:math/tonumber|quantity|100 000}}
| {{#invoke:Math/tonumber|quantity|100 000}}
|-
|-
| 100 тыс. чел.
| 100 тыс. чел.
| {{#invoke:math/tonumber|quantity|100 тыс. чел.}}
| {{#invoke:Math/tonumber|quantity|100 тыс. чел.}}
|-
|-
| 100,9 тыс. чел.
| 100,9 тыс. чел.
| {{#invoke:math/tonumber|quantity|100,9 тыс. чел.}}
| {{#invoke:Math/tonumber|quantity|100,9 тыс. чел.}}
|-
|-
| 100,90 тыс. чел.
| 100,90 тыс. чел.
| {{#invoke:math/tonumber|quantity|100,90 тыс. чел.}}
| {{#invoke:Math/tonumber|quantity|100,90 тыс. чел.}}
|-
|-
| 100,90 тыс. чел. (2017)
| 100,90 тыс. чел. (2017)
| {{#invoke:math/tonumber|quantity|100,90 тыс. чел. (2017)}}
| {{#invoke:Math/tonumber|quantity|100,90 тыс. чел. (2017)}}
|-
|-
| 100 000 ± 10
| 100 000 ± 10
| {{#invoke:math/tonumber|quantity|100 000 ± 10}}
| {{#invoke:Math/tonumber|quantity|100 000 ± 10}}
|}
|}
Используется в шаблонах, когда надо.
Используется в шаблонах, когда надо.
Строка 58: Строка 58:
* Иначе будет возвращено 3-значное число
* Иначе будет возвращено 3-значное число
* Если в строке есть несколько чисел одной длины, то будет выбрано последнее из них
* Если в строке есть несколько чисел одной длины, то будет выбрано последнее из них
<pre>{{#invoke:math/tonumber|year|…}}
<pre>{{#invoke:Math/tonumber|year|…}}
{{#invoke:math/tonumber|year|…|default=…}}</pre>
{{#invoke:Math/tonumber|year|…|default=…}}</pre>
{| class="wikitable"
{| class="wikitable"
! Входное значение
! Входное значение
Строка 65: Строка 65:
|-
|-
| 2014
| 2014
| {{#invoke:math/tonumber|year|2014}}
| {{#invoke:Math/tonumber|year|2014}}
|-
|-
| 910
| 910
| {{#invoke:math/tonumber|year|910}}
| {{#invoke:Math/tonumber|year|910}}
|-
|-
| <nowiki>[[2014]]</nowiki>
| <nowiki>[[2014]]</nowiki>
| {{#invoke:math/tonumber|year|[[2014]]}}
| {{#invoke:Math/tonumber|year|[[2014]]}}
|-
|-
| <nowiki>[[2014 год|2014]]</nowiki>
| <nowiki>[[2014 год|2014]]</nowiki>
| {{#invoke:math/tonumber|year|[[2014 год|2014]]}}
| {{#invoke:Math/tonumber|year|[[2014 год|2014]]}}
|-
|-
| <nowiki>[[31 декабря]] [[2014]]</nowiki>
| <nowiki>[[31 декабря]] [[2014]]</nowiki>
| {{#invoke:math/tonumber|year|[[31 декабря]] [[2014]]}}
| {{#invoke:Math/tonumber|year|[[31 декабря]] [[2014]]}}
|-
|-
| <nowiki>2014—2018</nowiki>
| <nowiki>2014—2018</nowiki>
| {{#invoke:math/tonumber|year|2014—2018}}
| {{#invoke:Math/tonumber|year|2014—2018}}
|-
|-
| Як-42
| Як-42
| {{#invoke:math/tonumber|year|Як-42}}
| {{#invoke:Math/tonumber|year|Як-42}}
|-
|-
| <nowiki>[[2316 год до н. э.]]</nowiki>
| <nowiki>[[2316 год до н. э.]]</nowiki>
| {{#invoke:math/tonumber|year|[[2316 год до н. э.]]}}
| {{#invoke:Math/tonumber|year|[[2316 год до н. э.]]}}
|-
|-
| 100,90 тыс. чел. (2017)
| 100,90 тыс. чел. (2017)
| {{#invoke:math/tonumber|year|100,90 тыс. чел. (2017)}}
| {{#invoke:Math/tonumber|year|100,90 тыс. чел. (2017)}}
|}
|}
Используется в шаблонах {{tl|Категория по дате}} и {{tl|Год появления}}.
Используется в шаблонах {{Tl|Категория по дате}} и {{Tl|Год появления}}.


== Тесты ==
== Тесты ==

Текущая версия от 15:35, 9 июня 2024

Этот модуль содержит функции для конвертации строк в числа.

Вызываемые функции[править код]

integer[править код]

{{#invoke:Math/tonumber|integer|…}}

Возвращает первое целое положительное число, найденное в строке.

Входное значение Результат
2014 2014
[[2014]] 2014
[[2014 год|2014]] 2014
[[31 декабря]] [[2014]] 31
Як-42 42

Используется в шаблонах, когда надо.

quantity[править код]

{{#invoke:Math/tonumber|quantity|…}}

Возвращает количественное значение из строки.

Входное значение Результат
100 000 100000
100 тыс. чел. 100000
100,9 тыс. чел. 100900
100,90 тыс. чел. 100900
100,90 тыс. чел. (2017) 100900
100 000 ± 10 100000

Используется в шаблонах, когда надо.

year[править код]

Возвращает последнее из чисел, найденных в строке, подходящее по формату в качестве года.

  • Приоритет отдаётся 4-значному числу, начинающемуся на 1 или 2
  • Иначе будет возвращено 3-значное число
  • Если в строке есть несколько чисел одной длины, то будет выбрано последнее из них
{{#invoke:Math/tonumber|year|…}}
{{#invoke:Math/tonumber|year|…|default=…}}
Входное значение Результат
2014 2014
910 910
[[2014]] 2014
[[2014 год|2014]] 2014
[[31 декабря]] [[2014]] 2014
2014—2018 2018
Як-42
[[2316 год до н. э.]] -2316
100,90 тыс. чел. (2017) 2017

Используется в шаблонах {{Категория по дате}} и {{Год появления}}.

Тесты[править код]

1 тестов провалено.

test_integer
Тест Ожидаемое значение Фактическое значение
{{ #invoke:Math/tonumber|integer | 2014 }} 2014 2014
{{ #invoke:Math/tonumber|integer | 910 }} 910 910
{{ #invoke:Math/tonumber|integer | 14 }} 14 14
{{ #invoke:Math/tonumber|integer | 1 }} 1 1
{{ #invoke:Math/tonumber|integer | -100 }} 100 100
{{ #invoke:Math/tonumber|integer | [[2014]] }} 2014 2014
{{ #invoke:Math/tonumber|integer | [[2014 год|2014]] }} 2014 2014
{{ #invoke:Math/tonumber|integer | [[31 декабря]] [[2014]] }} 31 31
{{ #invoke:Math/tonumber|integer | [[2316 год до н. э.]] }} 2316 2316
{{ #invoke:Math/tonumber|integer | 22 марта 14 года }} 22 22
{{ #invoke:Math/tonumber|integer | Як-42 }} 42 42
test_year
Тест Ожидаемое значение Фактическое значение
{{ #invoke:Math/tonumber|year | 2014 }} 2014 2014
{{ #invoke:Math/tonumber|year | 910 }} 910 910
{{ #invoke:Math/tonumber|year | 14 }} 14 14
{{ #invoke:Math/tonumber|year | 1 }} 1 1
Файл:X mark.svgN {{ #invoke:Math/tonumber|year | -100 }} 100
{{ #invoke:Math/tonumber|year | 10 год до н. э. }} -10 -10
{{ #invoke:Math/tonumber|year | 1 до н.э }} -1 -1
{{ #invoke:Math/tonumber|year | [[10 год до н. э.]] }} -10 -10
{{ #invoke:Math/tonumber|year | [[2014]] }} 2014 2014
{{ #invoke:Math/tonumber|year | [[2014 год|2014]] }} 2014 2014
{{ #invoke:Math/tonumber|year | [[31 декабря]] [[2014]] }} 2014 2014
{{ #invoke:Math/tonumber|year | 2014—2018 }} 2018 2018
{{ #invoke:Math/tonumber|year | [[2316 год до н. э.]] }} -2316 -2316
{{ #invoke:Math/tonumber|year | 22 марта 14 года }}
{{ #invoke:Math/tonumber|year | Як-42 }}