fn:floor
(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: Die nächste benachbarte kleinere Ganzzahl der als Argument übergebenen Zahl – nach erfolgter Abrundung. In XPath 1.0 ist der Rückgabewert vom Typ number, in XPath 2.0 vom Typ xs:double.
Aufruf/Argumente:
fn:floor($eingabezahl)
$eingabezahl:
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 floor() hingegen eine implizite Typumwandlung gemäß der Funktion number() vorgenommen.
Verwendungszweck:
Die Funktion fn:floor() rundet eine ihr übergebene Dezimalzahl zur nächstkleineren Ganzzahl ab. Der Datentyp der Zahl bleibt dabei erhalten. Falls es sich bei der Eingabezahl bereits um eine Ganzzahl handelt, bleibt der Wert unverändert. Handelt es sich beim Eingabewert nicht um einen der vier numerischen Typen xs:float, xs:double, xs:decimal oder xs:integer bzw. einen von diesen abgeleiteten Typ, so wird ein Typfehler gemeldet.
Hat der Eingabewert den Typ xs:untypedAtomic, so wird dieser mittels Typ-Promotion zu xs:double umgewidmet.
Ist der Eingangstyp ein von einem der numerischen Basistypen abgeleiteter Typ (derived type) so wird das Rundungsergebnis mit dem entsprechenden Basistyp typisiert zurückgegeben.
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 Eingangswert NaN, so wird gleichfalls 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.
Beispiele:
Funktionsaufruf | Ergebnis |
---|---|
fn:floor(1.1) | 1 |
fn:floor(-1.1) | -2 |
fn:floor(2.0) | 2 |
fn:floor('2.2') | Typfehler |
fn:floor('ein_string') | Typfehler |
fn:floor(16 div 3) | 5 |
fn:floor(1 div 0) | INF |
fn:floor(-1 div 0) | -INF |
Tabelle: Beispiele zum Aufruf von fn:floor().
In XPath 1.0 gibt der Aufruf von floor() mit einem erfolgreich nach numerisch umwandelbaren Stringargument eine Zahl zurück, andernfalls NaN: So gibt floor('2.2') die Zahl 2 zurück, wohingegen die Übergabe einer nicht umwandelbaren Zeichenkette wie bei floor('ein_string') den Wert NaN zur Folge hat.
Funktionsdefinition:
XPath 1.0:
floor(number)=> number
XPath 2.0:
fn:floor($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