Template:Round: Difference between revisions
meta>Dragons flight rv due to problems |
meta>Dragons flight try Lua conversion with error trapping and tracking category to deal with prior problem without disrupting existing pages |
||
Line 1: | Line 1: | ||
<includeonly>{{#iferror:{{#expr:{{{2 | <includeonly>{{#iferror:{{#expr:{{{2|0}}}}} |<!-- | ||
-->[[Category:Pages with bad rounding precision]]{{hid|Bad rounding here}}<!-- | |||
-->{{#invoke:Math|precision_format| {{{1}}} | 1-{{order of magnitude|{{{1}}}}} }}|<!-- | |||
-->{{#invoke:Math|precision_format| {{{1}}} | {{{2|0}}}}}}}</includeonly><noinclude> | |||
--> | |||
-->{{# | |||
}}}}</includeonly><noinclude> | |||
{{documentation}} | {{documentation}} | ||
</noinclude> | </noinclude> |
Revision as of 18:02, 23 February 2013
This template is used on approximately 283,000 pages, or roughly 4159% of all pages. To avoid major disruption and server load, any changes should be tested in the template's /sandbox or /testcases subpages, or in your own user subpage. The tested changes can be added to this page in a single edit. Consider discussing changes on the talk page before implementing them. |
This template uses Lua: |
Usage
This template rounds parameter 1 by parameter 2 decimal places (goes the other way for negative rounding) and includes trailing zeros.
{{Round|54.376|2}}
gives 54.38{{Round|54.376|-1}}
gives 50{{Round|68.4273E12|-10}}
gives 6.843×1013
For example, rounding by 1 gives 1 decimal digit, rounding by 0 gives integers, or rounding by -2 gives the amount in hundreds. Scientific notation is displayed for numbers greater than or equal to 1×109, or less than 1×10−4.
Examples:
{{Round|2.0004|3}}
gives 2.000- whereas
{{#expr:2.0004 round 3}}
gives 2
- whereas
{{Round|0.000020004|7}}
gives 000{{Round|0|8}}
gives 0.00000000{{Round|154268|-3}}
gives 154,000{{Round|154568|-3}}
gives 155,000{{Round|1200004|-1}}
→ 1,200,000- whereas
{{#expr:1200004round-1}}
→ 1200000, even though{{#expr:1300004round-1}}
→ 1300000 (see m:Help:Format produced by expr)
- whereas
{{Round|1300004|-1}}
→ 1,300,000{{Round|4.1e6|9}}
→ 4,100,000.000000000{{Round|4.1e6|10}}
→ 4,100,000.0000000000{{Round|1542689271|-7}}
→ 1.54×109{{Round|1542689271|2}}
→ 1.54268927100×109{{Round|7e9|-9}}
→ 7×109{{Round|-123|1}}
→ −123.0{{Round|-1200007|-2}}
→ −1,200,000{{Round|-1234567899|-7}}
→ −1.23×109
As with #expr, the total number of significant digits is not more than 14:
{{Round|1234567890.123456789|10}}
→ 1.2345678901235×109{{Round|123456789.0123456789|10}}
→ 123,456,789.01235{{Round|.0001234567890123456789|20}}
→ 0.00012345678901235
- The second parameter, precision, shoulld be an integer. Non-integer may give unexpected result.
{{Round|1.234567}}
→ 1{{Round|1.234567|2}}
→ 1.23{{Round|1.234567|2.3}}
→ 1.2329205947231{{Round|1.234567|2.7}}
→ 1.2350673729657
Internal details
The markup-based version of Template:Round uses three subtemplates:
- {{Round/-}} — for trailing zeros
- {{Round/e+}} — for scientific notation for numbers greater than or equal to 109 or less than or equal to −109
- {{Round/e−}} — for scientific notation for numbers greater than −10−4 and less than 10−4 but not equal to zero
The Lua-based version of {{Round}}
uses Module:Math and always has an expansion depth of 3. However, the markup-based version has an expansion depth of 9–15, which depends on the size of the numbers (integer results use depth 9, decimals use depth 12), where astronomical numbers can hit expansion depth of 15 levels, for {{Round|56.44e33|-32}}
→ 5.64 × 1034.
TemplateData
TemplateData for Round
Rounds (parameter 1) by (parameter 2) decimal places, and formats. Scientific notation is used for numbers greater than 1×10^9, or less than 1×10^−4.
Parameter | Description | Type | Status | |
---|---|---|---|---|
number | 1 | The number to be rounded | Number | required |
decimal places | 2 | The number of decimal places, if negative the number is rounded so the last (parameter 2) digits are zero | Number | required |
Maintenance categories
See also
- {{rndfrac}}
- {{rndnear}}
- {{rndgaps}}
- {{rndcalc}}
- {{significant figures}}