Téléchargement des produits


Version anglaise


 

Cette fonction compare entre elles deux chaînes alphanumériques.

Contrairement à la comparaison lexicographique, qui compare la valeur de codage de chaque caractère, cette comparaison utilise une collation qui permet de comparer deux chaînes de caractères en fonction d'une langue donnée.

Elle retourne 0 si les deux chaînes sont égales (la comparaison est sensible à la casse). Elle retourne une valeur inférieure à 0 si la première chaîne est strictement inférieure à la seconde. Elle retourne une valeur supérieure à 0 si la première chaîne est supérieure la seconde.

Paramètres

String

stringVal1

Chaîne alphanumérique à comparer

Obligatoire

String

stringVal2

Chaîne alphanumérique à comparer

Obligatoire

Hash

collatorInfos

Définition des informations de la collation. Cet objet peut avoir les attributs suivants :

  • "locale" : chaîne au format IETF BCP 47 identifiant une locale de tri,
  • "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.

Si cet objet n'est pas fourni, la locale prise pour la comparaison est celle renseignée pour l'exécution du template (les attributs "strength" et "decomposition" auront une valeur par défaut qui dépend de la locale)

 


Par exemple

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

↑ Haut de page