C#.NET * C++ * JAVASCRIPT * PYTHON * XML
* XML-SCHEMA * XPATH * XSL * XSL-FO * SVG * XQUERY * XPROC



XPath / XPath-Funktionen / Zahlen-Rundungsfunktionen / round-half-to-even

round-half-to-even

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.

Auf dieser Seite:

Signaturen:


round-half-to-even($arg as numeric?) as numeric?
round-half-to-even($arg as numeric?, $precision as xs:integer) as numeric?

Siehe https://www.w3.org/TR/xpath-functions-31/#func-round-half-to-even.

Siehe https://www.w3.org/TR/xpath-functions-30/#func-round-half-to-even.

Beispiele:

round-half-to-even(38.5) 38
round-half-to-even(57.5) 58
round-half-to-even(58.5) 58

pic/roundhalftoeven.png

Alternative Lösung in XPath 3.0 / XQuery

über , und :

Hier entsteht die Zahlenreihe 0,2,2,4,4:


(1 to 10)[. mod 2 = 1] 
=> for-each(function($p as xs:integer){ 
              round-half-to-even( $p div 2) 
            }) 

In XSLT 3.0 liest sich das so:


<xsl:stylesheet 
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
  xmlns:xs="http://www.w3.org/2001/XMLSchema" 
  xmlns:math="http://www.w3.org/2005/xpath-functions/math" 
  exclude-result-prefixes="xs math" version="3.0">
  <xsl:output method="xml" version="1.0" 
              encoding="UTF-8" indent="yes"/>
  <xsl:template match="/">
    <ergebnis>
      <xsl:for-each 
           select="(1 to 10)[. mod 2 = 1] 
                  => for-each(function($p as xs:integer){ 
                               round-half-to-even( $p div 2) 
                     })">
        <wert>
          <xsl:value-of select="."/>
        </wert>
      </xsl:for-each>
    </ergebnis>
  </xsl:template>
</xsl:stylesheet>

wg / 22. März 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/roundhalftoeven.html