Difference between revisions of "Template:Hands/numdisp"

From blackwiki
Jump to navigation Jump to search
imported>Wikid77
(fixed to allow prefix "−" as extra 6 long, tested in Template:Convert/numdisp/sandbox)
imported>Wikid77
(fixed to pass negative sum without padding extra "0")
Line 8: Line 8:
 
|{{Convert/numdisp/frac
 
|{{Convert/numdisp/frac
 
   |{{{1|-1200-3/118}}}|{{#titleparts:{{{1|-1200-3/118}}}|1|1}}|{{#titleparts:{{{1|-1200-3/118}}}|1|2}}}}<!--split at "/"
 
   |{{{1|-1200-3/118}}}|{{#titleparts:{{{1|-1200-3/118}}}|1|1}}|{{#titleparts:{{{1|-1200-3/118}}}|1|2}}}}<!--split at "/"
--else-->|{{#ifexpr:{{{1|-14000.00}}} < 0
+
--else-->|{{#ifexpr:{{{1|-14000.00}}}*0 = 0 and {{{1|-14000.00}}} < 0
 
   |<!--then re-build negative number (see NOTE Z4 below)
 
   |<!--then re-build negative number (see NOTE Z4 below)
 
-->{{formatnum:
 
-->{{formatnum:
   {{padright:−<!--&minus-->{{#expr:-{{{1|-14000.00}}} }}<!--endexpr
+
   {{padright:−<!--&minus-->{{#expr:-( {{{1|-14000.00}}} ) }}<!--endexpr
 
     --put decimal if needed-->{{
 
     --put decimal if needed-->{{
 
     #ifexpr:{{{1|-14000.00}}}0={{{1|-14000.00}}}
 
     #ifexpr:{{{1|-14000.00}}}0={{{1|-14000.00}}}
Line 77: Line 77:
 
--17Feb11 Used #ifexpr:{1}0={1} and floor({1})={1}, to put "."
 
--17Feb11 Used #ifexpr:{1}0={1} and floor({1})={1}, to put "."
 
--30Nov13 Fixed to allow prefix "&minus;" as extra 6 long.
 
--30Nov13 Fixed to allow prefix "&minus;" as extra 6 long.
 +
--07Jan14 Fixed to pass negative sum without padding "0".
 
--
 
--
 
  ** Add interwiki links to /doc subpage to avoid changes here **
 
  ** Add interwiki links to /doc subpage to avoid changes here **

Revision as of 12:05, 7 January 2014

−14,000.

Template documentation[view] [edit] [history] [purge]

The Template:Hands/numdisp processes a number, for display, by checking to display a fraction part (at "/"), else it just uses parser-function {{formatnum:{{{1|6000}}}}} to add commas, such as to show "6,000".

Usage:  {{hands/numdisp|6+3/8}} → Template:Convert/numdisp/frac
{{hands/numdisp|-4-1/2}} → Template:Convert/numdisp/frac
{{hands/numdisp|23500}} → 23,500
{{hands/numdisp|2300+643/1250}} → Template:Convert/numdisp/frac
{{hands/numdisp|&minus;7.0}} → −7.
{{hands/numdisp|14+6/ }} → Expression error: Unexpected < operator

Implementation

The check, for fraction parts, uses parser-function {{#titleparts:xx/xx|1|2}} to split a number at "/" (if any, as in: 6+3/8) and then checks if part 2 (the denominator, after the slash) contains a number, to trigger use of {{hands/numdisp/frac}}). Hence, the template uses:

#if: {{#titleparts:{{{1|6+3/8}}}|1|2}}

That if-expression will be true if a denominator exists (such as "8" in 6+3/8).

See also