AFigureOfBlue (talk | contribs) m typo |
move docs to subpage |
||
Line 1: | Line 1: | ||
⚫ | |||
<noinclude> |
|||
{{pp-template|small=yes}} |
|||
==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== |
|||
:<code><nowiki>{{valid|number=A}}</nowiki></code> = {{valid|number=A}} ''(not a number)'' |
|||
:<code><nowiki>{{valid|number=1234}}</nowiki></code> = {{valid|number=1234}} |
|||
:<code><nowiki>{{valid|number=+1234}}</nowiki></code> = {{valid|number=+1234}} |
|||
:<code><nowiki>{{valid|number=-1234}}</nowiki></code> = {{valid|number=-1234}} |
|||
:<code><nowiki>{{valid|number=(1234)}}</nowiki></code> = {{valid|number=(1234)}} ''(one pair of parenthesis is allowed)'' |
|||
:<code><nowiki>{{valid|number=--1234}}</nowiki></code> = {{valid|number=--1234}} ''(incorrect sign use)'' |
|||
:<code><nowiki>{{valid|number=1234567890}}</nowiki></code> = {{valid|number=1234567890}} |
|||
:<code><nowiki>{{valid|number=12345678901234567890}}</nowiki></code> = {{valid|number=12345678901234567890}} ''(too large)'' |
|||
:<code><nowiki>{{valid|number=1.234567890}}</nowiki></code> = {{valid|number=1.234567890}} |
|||
:<code><nowiki>{{valid|number=1.2345678901234567890}}</nowiki></code> = {{valid|number=1.2345678901234567890}} ''(too many decimals)'' |
|||
⚫ |
Revision as of 21:23, 4 October 2010
<noinclude
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<noincludeTemplate loop detected: Template:Documentation</noinclude> (not a number){{valid|number=1234}}
= true<noincludeTemplate loop detected: Template:Documentation</noinclude>{{valid|number=+1234}}
= true<noincludeTemplate loop detected: Template:Documentation</noinclude>{{valid|number=-1234}}
= true<noincludeTemplate loop detected: Template:Documentation</noinclude>{{valid|number=(1234)}}
= true<noincludeTemplate loop detected: Template:Documentation</noinclude> (one pair of parenthesis is allowed){{valid|number=--1234}}
= false<noincludeTemplate loop detected: Template:Documentation</noinclude> (incorrect sign use){{valid|number=1234567890}}
= true<noincludeTemplate loop detected: Template:Documentation</noinclude>{{valid|number=12345678901234567890}}
= false<noincludeTemplate loop detected: Template:Documentation</noinclude> (too large){{valid|number=1.234567890}}
= true<noincludeTemplate loop detected: Template:Documentation</noinclude>{{valid|number=1.2345678901234567890}}
= false<noincludeTemplate loop detected: Template:Documentation</noinclude> (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.