XPath intensif

Fonctions et opérateurs sur les nombres

Opérateurs arithmétiques

Opérateur

Description

op:numeric-add($arg1 as numeric, $arg2 as numeric) as numeric

Addition

op:numeric-subtract($arg1 as numeric, $arg2 as numeric) as numeric

Soustraction

op:numeric-multiply($arg1 as numeric, $arg2 as numeric) as numeric

Multiplication

op:numeric-divide($arg1 as numeric, $arg2 as numeric) as numeric

Division

op:numeric-integer-divide($arg1 as numeric, $arg2 as numeric) as numeric

Division euclidienne (entière)

op:numeric-mod($arg1 as numeric, $arg2 as numeric) as numeric

Modulo

op:numeric-unary-plus($arg1 as numeric) as numeric

-

op:numeric-unary-minus($arg1 as numeric) as numeric

Négation

Exemple

CTRL+C pour copier, CTRL+V pour coller
1
op:numeric-integer-divide(10,3)
op:numeric-integer-divide(10,3)

Retourne 3

Comparaison

Opérateur

Description

op:numeric-equal($arg1 as numeric, $arg2 as numeric) as xs:boolean

Égalité

op:numeric-less-than($arg1 as numeric, $arg2 as numeric) as xs:boolean

Infériorité (égalité exclue)

op:numeric-greater-than($arg1 as numeric, $arg2 as numeric) as xs:boolean

Supériorité (égalité exclue)

Fonctions sur les valeurs numériques

Fonction

Description

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

Valeur absolue

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

Troncature à l'entier

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

Arrondi supérieur à l'entier

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

Arrondi à l'entier

fn:round-half-to-even($arg as numeric?) as numeric?

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

Arrondi à précision 0,5

.

Arrondi à précision définie

Exemple

CTRL+C pour copier, CTRL+V pour coller
1
fn:round-half-to-even(3.567812E+3, 2)
fn:round-half-to-even(3.567812E+3, 2)

Retourne 3567.81

Exemple

CTRL+C pour copier, CTRL+V pour coller
1
fn:round-half-to-even(35612.25, -2)
fn:round-half-to-even(35612.25, -2)

Retourne 35600

Fonctions trigonométrique et exponentielles

Fonction

Description

math:pi() as xs:double

π

math:exp($arg as xs:double?) as xs:double?

Exponentielle

math:exp10($arg as xs:double?) as xs:double?

Puissance de 10

math:log($arg as xs:double?) as xs:double?

Logarithme népérien

math:log10($arg as xs:double?) as xs:double?

Logarithme base 10

math:pow($x as xs:double?, $y as numeric) as xs:double?

Puissance

math:sqrt($arg as xs:double?) as xs:double?

Racine carrée

math:sin($θ as xs:double?) as xs:double?

Sinus (radians)

math:cos($θ as xs:double?) as xs:double?

Cosinus (radians)

math:tan($θ as xs:double?) as xs:double?

Tangente (radians)

math:asin($arg as xs:double?) as xs:double?

Arc-sinus (-π/2 to +π/2 radians)

math:acos($arg as xs:double?) as xs:double?

Arc-cosinus (zero to +π radians)

math:atan($arg as xs:double?) as xs:double?

Arc-tangente (-π/2 to +π/2 radians)

math:atan2($y as xs:double, $x as xs:double) as xs:double

Arc-tangente (-π to +π)

PrécédentPrécédentSuivantSuivant
AccueilAccueilImprimerImprimer Jean-Baptiste Martin, 2015 (Contributions : Stéphane Crozat, les étudiants de NF29) Paternité - Partage des Conditions Initiales à l'IdentiqueRéalisé avec Scenari (nouvelle fenêtre)