fn:ceiling

(Auszug aus "XSLT 2.0 & XPath 2.0" von Frank Bongers, Kapitel 5.)

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z

   

Kategorie: Rundungsfunktionen für numerische Typen

Herkunft: XPath 1.0

Rückgabewert: Eine Zahl numeric; die nächste benachbarte größere Ganzzahl der als Argument übergebenen Zahl – nach erfolgter Aufrundung, aber ohne Änderung des Datentyps. (In XPath 1.0 ist der Rückgabewert vom Typ number.)

Aufruf/Argumente:

fn:ceiling($eingabezahl)

$eingabezahl:
Optional. Die zu rundende Zahl. In XPath 2.0 muss diese einem der numerischen Datentypen oder einem hiervon abgeleiteten Typ entsprechen. (In XPath 1.0 wird für ceiling() hingegen eine implizite Typumwandlung gemäß der Funktion number() vorgenommen.)

Verwendungszweck:

Die Funktion fn:ceiling() rundet eine ihr übergebene Zahl eines der vier numerischen Typen xs:float, xs:double, xs:decimal oder xs:integer bzw. eines von diesen abgeleiteten Typs in positiver Richtung zur nächstgrößeren Ganzzahl auf. Der Datentyp der Zahl bleibt dabei erhalten, sofern es sich um einen Basistyp handelt (es erfolgt nicht etwa eine Umwandlung in den Typ xs:integer).

Ist der Eingangstyp ein von einem der numerischen Basistypen abgeleiteter Typ (derived type) so erhält das Rundungsergebnis den entsprechenden Basistyp. Hat der Eingabewert den Typ xs:untypedAtomic, so wird dieser mittels Typ-Promotion zu xs:double umgewidmet, den dann ebenfalls der Rückgabewert erhält. Falls es sich bei der Eingabezahl bereits um eine Ganzzahl handelt, bleibt der Wert unverändert. Eine negative Eingabezahl wird zur nächstgrößeren (vom absoluten Wert also kleineren!) negativen Ganzzahl aufgerundet.

Wird der Funktion die leere Sequenz übergeben, so gibt sie ebenfalls die leere Sequenz zurück. Ist (beim Eingangstyp xs:double oder xs:float) der Ein­gangswert NaN, so wird ebenfalls NaN zurückgegeben.

Sonderfälle: Eingangswerte vom Typ xs:double oder xs:float, die +0 (positiv Null) oder -0 (negativ Null) sind, werden unverändert zurückgegeben.

Verhalten in XPath 1.0:
In XPath 1.0 gibt der Aufruf von ceiling() mit einem erfolgreich nach numerisch umwandelbaren Stringargument eine Zahl zurück bzw. andernfalls NaN:

ceiling('2.2') ergibt 3

ceiling('ein_string') ergibt NaN

Wird unter XPath 1.0 ein leerer Strings übergeben, so ergibt dies NaN. Ist (halbwegs vergleichbar) der übergebene Wert in XPath 2.0 eine leere Sequenz, so ist das Ergebnis hingegen eine leere Ergebnissequenz.

Beispiele:

fn:ceiling(1.1)

 2

fn:ceiling(2.0)

 2

fn:ceiling('2.2')

 Typfehler

fn:ceiling('ein_string')

 Typfehler

fn:ceiling(-1.1)

-1

fn:ceiling(16 div 3)

 6

fn:ceiling(1 div 0)

 INFINITY

fn:ceiling(-1 div 0)

-INFINITY

fn:ceiling(())

()

Funktionsdefinition:

XPath 1.0:

ceiling(number)=> number

XPath 2.0:

fn:ceiling($arg as numeric?) as numeric?

   

<< zurück vor >>
Tipp der data2type-Redaktion:
Zum Thema XSLT bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an:

Copyright © Galileo Press, Bonn 2008
Für Ihren privaten Gebrauch dürfen Sie die Online-Version ausdrucken.
Ansonsten unterliegt dieses Kapitel aus dem Buch "XSLT 2.0 & XPath 2.0 ― Das umfassende Handbuch" denselben Bestimmungen wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


Galileo Press, Rheinwerkallee 4, 53227 Bonn