Skabelon:Rndfrac

Fra Wikipedia, den frie encyklopædi
Spring til navigation Spring til søgning
Documentation icon Skabelondokumentation[vis] [redigér] [historik] [opfrisk]

This template rounds to a fraction. It takes two parameters.

  1. the number to be rounded (any real number)
  2. the denominator to be rounded to (positive integer)

Fractions are expressed in the simplest terms.

The template calls {{gcd}} and {{rndfrac/out}}.

  • {{rndfrac|0.1234|8}}18
  • {{rndfrac|12.65|6}}12 23
  • {{rndfrac|-9.123|20}} → −9 110

Kode[redigér wikikode]

Hovedskabelon {{rndfrac}}

{{#ifexpr: ( {{{2}}} - 1 ) round 0 = abs( {{{2}}} - 1 )
 | {{#ifexpr: {{{1}}} * {{{2}}} round 0 < 0
    |−
   }}{{formatnum: {{rndfrac/{{{out|out}}} 
                   | {{#expr: floor( (abs {{{1}}} * {{{2}}} round 0 ) / {{{2}}} ) }} 
                   | {{#expr: (abs {{{1}}} * {{{2}}} round 0 ) mod {{{2}}} }}
                   | {{{2}}}
                   | {{gcd | {{#expr: (abs {{{1}}} * {{{2}}} round 0 ) mod {{{2}}} }}
                           | {{{2}}}
                     }}
                  }}
     }}
 | {{color | red | This fractional rounding function only accepts positive intergers as the denominator. }}
}}

Sub-template {{rndfrac/out}}

{{#ifeq: {{{2}}} | 0 
 | {{{1}}}
 | <span class="frac nowrap">{{#ifexpr: {{{1}}} > 0
                              | {{{1}}}<sup>&#32;</sup>
                             }}{{#iferror: {{#expr: 1/{{{4}}} }}
                                | <sup>{{{2}}}</sup><sub>{{{3}}}</sub>
                                | <sup>{{#expr: {{{2}}} / {{{4}}} }}</sup><sub>{{#expr: {{{3}}} / {{{4}}} }}</sub>
                               }}
   </span>
}}

Se også[redigér wikikode]