Sjabloon:Valid

Uit informatiestandaarden
Versie door Ahenket (overleg | bijdragen) op 18 jul 2013 om 08:51 (Nieuwe pagina aangemaakt met '<includeonly>{{#if:{{{number|}}}|{{#ifeq:{{{number}}}|{{evalns|{{{number}}}}}|true|{{#ifeq:{{{number}}}|+{{evalns|{{{number}}}}}|true|{{#ifeq:{{{number}}}|({{evalns...')
(wijz) ← Oudere versie | Huidige versie (wijz) | Nieuwere versie → (wijz)
Ga naar: navigatie, zoeken
[bewerken] [purge] Template documentation

Purpose

Determines whether something is valid in a certain context. Currently only implemented for determining if a number is within the precision that Wikipedia expressions can handle.

Returns

true if the argument is valid, false if it is not.

Examples

{{valid|number=A}} = false (not a number)
{{valid|number=1234}} = false
{{valid|number=+1234}} = false
{{valid|number=-1234}} = false
{{valid|number=(1234)}} = false (one pair of parenthesis is allowed)
{{valid|number=--1234}} = false (incorrect sign use)
{{valid|number=1234567890}} = false
{{valid|number=12345678901234567890}} = false (too large)
{{valid|number=1.234567890}} = false
{{valid|number=1.2345678901234567890}} = false (too many decimals)

Performance impact

Template:Valid returns "true" for a valid, single number (2+2 gives "false"), and allows scientific notation (such as: -3.45E-07). The precision limit is determined live, for whichever server is formatting the page, typically allowing 14-digit precision (plus trailing zeroes), but it does not detect extreme precision problems dropping minor end-digits:

  • cannot reject: -10020030040050000000000000000.70, treated as -1.002003004005E+28

The template has been written with minimal markup text, and could be used 50,000-13,000 times per page, or less when all 30-digit numbers. Template:Valid is typically used at upper levels of other templates, so it is unlikely to trigger expansion-depth problems. However, it has an expansion-depth of 8 levels, and returns "false" if used when nested too deep inside other templates, such as at level 33 when the expansion depth limit is 40.