Page semi-protected

Template:Formatnum: Difference between revisions

From Wikidata
Jump to navigation Jump to search
Content deleted Content added
Slomox (talk | contribs)
adding an irrelevantly low number to overcome rounding errors that stop truncating from working
Slomox (talk | contribs)
further improvement of rounding
Line 17: Line 17:
}}{{#ifexpr: abs( {{{1|0}}} ) >= 10 | {{formatnumDigit|{{#expr: trunc( ( abs( {{{1|0}}} ) - trunc( abs( {{{1|0}}} ) / 100 ) * 100 ) / 10 ) }}|{{{2|}}}}}
}}{{#ifexpr: abs( {{{1|0}}} ) >= 10 | {{formatnumDigit|{{#expr: trunc( ( abs( {{{1|0}}} ) - trunc( abs( {{{1|0}}} ) / 100 ) * 100 ) / 10 ) }}|{{{2|}}}}}
}}{{#ifexpr: abs( {{{1|0}}} ) >= 0 | {{formatnumDigit|{{#expr: trunc( ( abs( {{{1|0}}} ) - trunc( abs( {{{1|0}}} ) / 10 ) * 10 ) / 1 ) }}|{{{2|}}}}}
}}{{#ifexpr: abs( {{{1|0}}} ) >= 0 | {{formatnumDigit|{{#expr: trunc( ( abs( {{{1|0}}} ) - trunc( abs( {{{1|0}}} ) / 10 ) * 10 ) / 1 ) }}|{{{2|}}}}}
}}{{#ifexpr: abs( {{{1|0}}} ) - trunc( abs( {{{1|0}}} ) ) > 0 |{{formatnumSigns|.|{{{2|}}}}}{{formatnumDigit|{{#expr: trunc( ( abs( {{{1|0}}} + 0.0000000000001 ) - trunc( abs( {{{1|0}}} + 0.0000000000001 ) * 1 ) / 1 ) * 10 ) }}|{{{2|}}}}}{{#ifexpr: abs( {{{1|0}}} ) - ( trunc( abs ( {{{1|0}}} ) * 10 ) / 10 ) > 0 | {{formatnumDigit|{{#expr: trunc( ( abs( {{{1|0}}} + 0.0000000000001 ) - trunc( abs( {{{1|0}}} + 0.0000000000001 ) * 10 ) / 10 ) * 100 ) }}|{{{2|}}}}}{{#ifexpr: abs( {{{1|0}}} ) - ( trunc( abs ( {{{1|0}}} ) * 100 ) / 100 ) > 0 | {{formatnumDigit|{{#expr: trunc( ( abs( {{{1|0}}} + 0.0000000000001 ) - trunc( abs( {{{1|0}}} + 0.0000000000001 ) * 100 ) / 100 ) * 1000 ) }}|{{{2|}}}}}{{#ifexpr: abs( {{{1|0}}} ) - ( trunc( abs ( {{{1|0}}} ) * 1000 ) / 1000 ) > 0 | {{formatnumDigit|{{#expr: trunc( ( abs( {{{1|0}}} + 0.0000000000001 ) - trunc( abs( {{{1|0}}} + 0.0000000000001 ) * 1000 ) / 1000 ) * 10000 ) }}|{{{2|}}}}}{{#ifexpr: abs( {{{1|0}}} ) - ( trunc( abs ( {{{1|0}}} ) * 10000 ) / 10000 ) > 0 | {{formatnumDigit|{{#expr: trunc( ( abs( {{{1|0}}} + 0.0000000000001 ) - trunc( abs( {{{1|0}}} + 0.0000000000001 ) * 10000 ) / 10000 ) * 100000 ) }}|{{{2|}}}}}{{#ifexpr: abs( {{{1|0}}} ) - ( trunc( abs ( {{{1|0}}} ) * 100000 ) / 100000 ) > 0 | {{formatnumDigit|{{#expr: trunc( ( abs( {{{1|0}}} + 0.0000000000001 ) - trunc( abs( {{{1|0}}} + 0.0000000000001 ) * 100000 ) / 100000 ) * 1000000 ) }}|{{{2|}}}}}{{#ifexpr: abs( {{{1|0}}} ) - ( trunc( abs ( {{{1|0}}} ) * 1000000 ) / 1000000 ) > 0 | {{formatnumDigit|{{#expr: trunc( ( abs( {{{1|0}}} + 0.0000000000001 ) - trunc( abs( {{{1|0}}} + 0.0000000000001 ) * 1000000 ) / 1000000 ) * 10000000 ) }}|{{{2|}}}}}{{#ifexpr: abs( {{{1|0}}} ) - ( trunc( abs ( {{{1|0}}} ) * 10000000 ) / 10000000 ) > 0 | {{formatnumDigit|{{#expr: trunc( ( abs( {{{1|0}}} + 0.0000000000001 ) - trunc( abs( {{{1|0}}} + 0.0000000000001 ) * 10000000 ) / 10000000 ) * 100000000 ) }}|{{{2|}}}}}{{#ifexpr: abs( {{{1|0}}} ) - ( trunc( abs ( {{{1|0}}} ) * 100000000 ) / 100000000 ) > 0 | {{formatnumDigit|{{#expr: trunc( ( abs( {{{1|0}}} + 0.0000000000001 ) - trunc( abs( {{{1|0}}} + 0.0000000000001 ) * 100000000 ) / 100000000 ) * 1000000000 ) }}|{{{2|}}}}}{{#ifexpr: abs( {{{1|0}}} ) - ( trunc( abs ( {{{1|0}}} ) * 1000000000 ) / 1000000000 ) > 0 | {{formatnumDigit|{{#expr: trunc( ( abs( {{{1|0}}} + 0.0000000000001 ) - trunc( abs( {{{1|0}}} + 0.0000000000001 ) * 1000000000 ) / 1000000000 ) * 10000000000 ) }}|{{{2|}}}}}{{#ifexpr: abs( {{{1|0}}} ) - ( trunc( abs ( {{{1|0}}} ) * 10000000000 ) / 10000000000 ) > 0 | {{formatnumDigit|{{#expr: trunc( ( abs( {{{1|0}}} + 0.0000000000001 ) - trunc( abs( {{{1|0}}} + 0.0000000000001 ) * 10000000000 ) / 10000000000 ) * 100000000000 ) }}|{{{2|}}}}}{{#ifexpr: abs( {{{1|0}}} ) - ( trunc( abs ( {{{1|0}}} ) * 100000000000 ) / 100000000000 ) > 0 | {{formatnumDigit|{{#expr: ( ( abs( {{{1|0}}} + 0.0000000000001 ) - trunc( abs( {{{1|0}}} + 0.0000000000001 ) * 100000000000 ) / 100000000000 ) * 1000000000000 ) round 0 }}|{{{2|}}}}}
}}{{#ifexpr: abs( {{{1|0}}} ) - trunc( abs( {{{1|0}}} ) ) > 0 |{{formatnumSigns|.|{{{2|}}}}}{{formatnumDigit|{{#expr: trunc( ( abs( {{{1|0}}} + 0.0000000000001 ) - trunc( abs( {{{1|0}}} + 0.0000000000001 ) * 1 ) / 1 ) * 10 ) }}|{{{2|}}}}}{{#ifexpr: abs( {{{1|0}}} ) - ( trunc( abs ( {{{1|0}}} + 0.0000000000001 ) * 10 ) / 10 ) > 0 | {{formatnumDigit|{{#expr: trunc( ( abs( {{{1|0}}} + 0.0000000000001 ) - trunc( abs( {{{1|0}}} + 0.0000000000001 ) * 10 ) / 10 ) * 100 ) }}|{{{2|}}}}}{{#ifexpr: abs( {{{1|0}}} ) - ( trunc( abs ( {{{1|0}}} + 0.0000000000001 ) * 100 ) / 100 ) > 0 | {{formatnumDigit|{{#expr: trunc( ( abs( {{{1|0}}} + 0.0000000000001 ) - trunc( abs( {{{1|0}}} + 0.0000000000001 ) * 100 ) / 100 ) * 1000 ) }}|{{{2|}}}}}{{#ifexpr: abs( {{{1|0}}} ) - ( trunc( abs ( {{{1|0}}} + 0.0000000000001 ) * 1000 ) / 1000 ) > 0 | {{formatnumDigit|{{#expr: trunc( ( abs( {{{1|0}}} + 0.0000000000001 ) - trunc( abs( {{{1|0}}} + 0.0000000000001 ) * 1000 ) / 1000 ) * 10000 ) }}|{{{2|}}}}}{{#ifexpr: abs( {{{1|0}}} ) - ( trunc( abs ( {{{1|0}}} + 0.0000000000001 ) * 10000 ) / 10000 ) > 0 | {{formatnumDigit|{{#expr: trunc( ( abs( {{{1|0}}} + 0.0000000000001 ) - trunc( abs( {{{1|0}}} + 0.0000000000001 ) * 10000 ) / 10000 ) * 100000 ) }}|{{{2|}}}}}{{#ifexpr: abs( {{{1|0}}} ) - ( trunc( abs ( {{{1|0}}} + 0.0000000000001 ) * 100000 ) / 100000 ) > 0 | {{formatnumDigit|{{#expr: trunc( ( abs( {{{1|0}}} + 0.0000000000001 ) - trunc( abs( {{{1|0}}} + 0.0000000000001 ) * 100000 ) / 100000 ) * 1000000 ) }}|{{{2|}}}}}{{#ifexpr: abs( {{{1|0}}} ) - ( trunc( abs ( {{{1|0}}} + 0.0000000000001 ) * 1000000 ) / 1000000 ) > 0 | {{formatnumDigit|{{#expr: trunc( ( abs( {{{1|0}}} + 0.0000000000001 ) - trunc( abs( {{{1|0}}} + 0.0000000000001 ) * 1000000 ) / 1000000 ) * 10000000 ) }}|{{{2|}}}}}{{#ifexpr: abs( {{{1|0}}} ) - ( trunc( abs ( {{{1|0}}} + 0.0000000000001 ) * 10000000 ) / 10000000 ) > 0 | {{formatnumDigit|{{#expr: trunc( ( abs( {{{1|0}}} + 0.0000000000001 ) - trunc( abs( {{{1|0}}} + 0.0000000000001 ) * 10000000 ) / 10000000 ) * 100000000 ) }}|{{{2|}}}}}{{#ifexpr: abs( {{{1|0}}} ) - ( trunc( abs ( {{{1|0}}} + 0.0000000000001 ) * 100000000 ) / 100000000 ) > 0 | {{formatnumDigit|{{#expr: trunc( ( abs( {{{1|0}}} + 0.0000000000001 ) - trunc( abs( {{{1|0}}} + 0.0000000000001 ) * 100000000 ) / 100000000 ) * 1000000000 ) }}|{{{2|}}}}}{{#ifexpr: abs( {{{1|0}}} ) - ( trunc( abs ( {{{1|0}}} + 0.0000000000001 ) * 1000000000 ) / 1000000000 ) > 0 | {{formatnumDigit|{{#expr: trunc( ( abs( {{{1|0}}} + 0.0000000000001 ) - trunc( abs( {{{1|0}}} + 0.0000000000001 ) * 1000000000 ) / 1000000000 ) * 10000000000 ) }}|{{{2|}}}}}{{#ifexpr: abs( {{{1|0}}} ) - ( trunc( abs ( {{{1|0}}} + 0.0000000000001 ) * 10000000000 ) / 10000000000 ) > 0 | {{formatnumDigit|{{#expr: trunc( ( abs( {{{1|0}}} + 0.0000000000001 ) - trunc( abs( {{{1|0}}} + 0.0000000000001 ) * 10000000000 ) / 10000000000 ) * 100000000000 ) }}|{{{2|}}}}}{{#ifexpr: abs( {{{1|0}}} ) - ( trunc( abs ( {{{1|0}}} + 0.0000000000001 ) * 100000000000 ) / 100000000000 ) > 0 | {{formatnumDigit|{{#expr: ( ( abs( {{{1|0}}} + 0.0000000000001 ) - trunc( abs( {{{1|0}}} + 0.0000000000001 ) * 100000000000 ) / 100000000000 ) * 1000000000000 ) round 0 }}|{{{2|}}}}}
}} }} }} }} }} }} }} }} }} }} }} }}
}} }} }} }} }} }} }} }} }} }} }} }}
}}<noinclude>
}}<noinclude>

Revision as of 17:20, 22 September 2009

Template:FormatnumDigit

Documentation icon Template documentation[view · edit · history · purge ]

This template formats a number in the local format (local numerals, local thousands separator, decimal separator and the pattern of separators [some languages for example have a ten-thousands separator]) of the user's preferred language.

Template parameters[Edit template data]

This template prefers inline formatting of parameters.

ParameterDescriptionTypeStatus
number1 number

Number that will be formatted. It must be unformatted.

Example
1234
Linerequired
language2 lang

Language code, only to be given if the language shall be fixed; by default the user interface language.

Default
{{int:lang}}
Example
fr
Lineoptional
no separatorssep

Any non-empty value will remove thousands seperators.

Lineoptional
precisionprec

The number of decimal digits to show. If given as a positive number, exactly that many decimal digits will be shown, and the number will be truncated (not rounded!) or zero-padded if needed. If not given or it's nonpositive, all decimal digits will be shown, except for trailing zeros.

Default
0
Numberoptional

Examples

Template:Uncategorized