Home
Über mich
Veröffentlichungen

XML XML-Schema XPath XSL-T XSL-FO XQuery XProc SVG

XPath / XPath-Funktionen / Zahlen-Rundungsfunktionen

Zahlen-Rundungsfunktionen

Zahlen-Rundungsfunktionen

➪ In XSL bzw. XPath stehen auch mehrere Funktionen zum Auf- oder Abrunden von Zahlen zur Verfügung: floor, ceiling, round, round-half-to-even.

floor rundet ab zum größten Integerwert, der nicht größer ist als der Originalwert.
ceiling rundet auf zum kleinsten Integerwert, der größer ist als der Originalwert.
round rundet zum Integer, der dem Originalwert am nächsten liegt.
round-half-to-even Wie round; Sonderfall: Der Originalwert ist x.5, dann rundet round-half-to-even zu jenem Integerwert in nächster Umgebung, der eine gerade Zahl darstellt.

Zur Verdeutlichung basteln Sie sich eine Zahlensequence und werten sie auch gleich aus:


<xsl:for-each 
 select="for $y in ((1 to 10)[. mod 2=1]) return ($y div 2)">
    <wert 
    original="{.}" 
    floor="{floor(.)}" 
    ceiling="{ceiling(.)}" 
    round="{round(.)}" 
    round-half-to-even="{round-half-to-even(.)}"/>    
</xsl:for-each>

Hinter dieser Zahlensequenz stehen die halbierten Werte sämtlicher Zahlen von 1 bis 9:


   <wert>0.5</wert>
   <wert>1.5</wert>
   <wert>2.5</wert>
   <wert>3.5</wert>
   <wert>4.5</wert>

Im folgenden Schritt wird jeder Einzelwert durch die Rundungsfunktionen floor, ceiling, round und round-half-to-even untersucht.

Die round-half-to-even-Funktion ist nur wenigen Berufsgruppen vertraut, etwa im Bereich Geodäsie/Vermessungswesen. Hintergrund des auf den ersten Blick vielleicht etwas rätselhaften Verhaltens ist, dass durch jede Zahlenrundung ein Fehler entsteht.

Rundet man immer nur auf, dann wird der Fehler in der Summe immer größer. Dasselbe passiert, wenn man immer abrundet. Dadurch, dass "round-half-to-even" sowohl auf- als auch abrundet, ist der Fehler in der Summe kleiner.


   <wert original="0.5"
         floor="0"
         ceiling="1"
         round="1"
         round-half-to-even="0"/>
   <wert original="1.5"
         floor="1"
         ceiling="2"
         round="2"
         round-half-to-even="2"/>
   <wert original="2.5"
         floor="2"
         ceiling="3"
         round="3"
         round-half-to-even="2"/>
   <wert original="3.5"
         floor="3"
         ceiling="4"
         round="4"
         round-half-to-even="4"/>
   <wert original="4.5"
         floor="4"
         ceiling="5"
         round="5"
         round-half-to-even="4"/>

wg / 17. Januar 2020



Fragen? Anmerkungen? Tipps?

Bitte nehmen Sie Kontakt zu mir auf.






Vielen Dank für Ihr Interesse an meiner Arbeit.



V.i.S.d.P.: Wilfried Grupe * Klus 6 * 37643 Negenborn

☎ 0151. 750 360 61 * eMail: info10@wilfried-grupe.de

www.wilfried-grupe.de/Zahlen_Rundungsfunktionen.html