(aktualisiert!)

IT-Trainings in Zeiten des Corona-Virus, Veranstaltungstipps der www.gfu.net:
Schulung XML Einfuehrung und Grundlagen *** Schulung Python fuer Programmiereinsteiger *** Schulung XML, XSLT, XPath, XSL-FO Einfuehrung *** Schulung Java/JSP/HTML/JDBC/XML Komplett *** Schulung XML mit Altova XMLSpy *** Schulung XML Grundlagen, XSL-FO, SVG, DocBook, DITA *** Schulung XML - der professionelle Ueberblick *** Schulung XML-Schema Intensiv *** Schulung Einstieg in die Programmierung *** Schulung C++ fuer Programmiereinsteiger *** Schulung VB.NET fuer Visual Basic-Programmierer ***


XPath 3.0, XPath 2.0, XPath 1.0 / 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.

rundet ab zum größten Integerwert, der nicht größer ist als der Originalwert.
rundet auf zum kleinsten Integerwert, der größer ist als der Originalwert.
rundet zum Integer, der dem Originalwert am nächsten liegt.
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