Téléchargement des produits


Version anglaise


 

Cette fonction ompare deux valeurs ayant des types simples (String / Number / Boolean / Date / Time / Date-time).

Elle retourne 0 si les deux valeurs sont égales. Elle retourne une valeur inférieure à 0 si la première valeur est strictement inférieure à la seconde. Elle retourne une valeur supérieure à 0 si la première valeur est supérieure à la seconde.

Lorsque les deux valeurs sont de type String, le mode de comparaison est lexicographique. Il est possible, via le paramètre "opts" de définir une comparaison utilisant une collation permettant de comparer deux chaînes de caractères en fonction d'une langue donnée.

 

Paramètres

String / Number / Boolean / Date / Time / Date-time

compVal1

Valeur de type simple à comparer

Obligatoire

String / Number / Boolean / Date / Time / Date-time

compVal2

Valeur de type simple à comparer

Obligatoire

Hash

opts

Définition des options de comparaison. Cet objet peut avoir les attributs suivants :

  • "stringComp" : chaîne alphanumérique. Utilisé pour définir le mode de comparaison de deux valeurs de type String. Deux valeurs possibles :
      • "lexico" : comparaison lexicographique (par défaut),
      • "localeBased" : comparaison utilisant une collation.
  • "collator" : Si "stringComp" vaut "localeBased", cet attribut décrit la collation utilisée. Par défaut, la collation est associée à la locale d'exécution du template. Les attributs "strength" et "decomposition" ont par défaut des valeurs qui dépendent de la locale. La collation est un objet hash ayant les attributs suivants :
      • "locale" : chaîne au format IETF BCP 47 identifiant une locale pour la comparaison,
      • "strength" : chaîne représentant la force de la collection pour déterminer le niveau de différence considéré comme significatif dans les comparaisons. Cinq valeurs sont fournies : "identical", "primary", "secondary", "tertiary" et "quaternary",
      • "decomposition" : chaîne représentant le mode de décomposition de la collation. Il détermine le traitement des caractères composés Unicode. Le réglage du mode de décomposition permet à l'utilisateur de choisir entre un comportement de classement plus rapide et plus complet. Trois valeurs sont fournies : "no_decomposition", "canonical_decomposition" et "full_decomposition"

Optionnel.

 


Par exemple

<#assign stringVal1 = "foo" />
<#assign stringVal2 = "bar" />
<#assign opts = {"stringComp": "localeBased",
	"collator": {"locale": "en-GB",
	"strength": "primary"}
	} /> 


<#assign compare = hardisCore.compare (stringVal1, stringVal2, opts) />
<#if compare == 0>
${stringVal1} equals ${stringVal2}
<#elseif compare > 0>
${stringVal1} is greater than ${stringVal2}
<#else>
${stringVal1} is less than ${stringVal2}
</#if> 

 

Autre exemple

<#assign compare = hardisCore.compare ("2015-05-23"?date.xs, "2017-10-04"?date.xs) /> 


↑ Haut de page