web-dev-qa-db-fra.com

Comment convertir une chaîne en nombre dans un modèle freemarker

Je veux convertir une chaîne en nombre dans freemarker. Je veux mettre un contrôle conditionnel basé sur la valeur du nombre. Le nombre ne semble pas fonctionner. 

Aucune suggestion?

15
Mady

Désolé, le numéro fonctionne bien. Je n'ai pas été en mesure de comparer le nombre dissimulé avec un autre numéro ..__ Cela n'a pas fonctionné pour moi

<#assign num = numString?number>

<#if num > 100>
</#if>

quand j'ai inclus (num> 100) à l'intérieur des crochets cela a fonctionné.

<#if (num > 100)>
</#if>

étant donné que la comparaison ne fonctionnait pas, je partais du principe que la conversion n’est pas en cours .

27
Mady

Je pense que vous pouvez l'utiliser comme ceci: string?eval 

1
Mathew P. Jones

Dans votre code, vous utilisez le crochet fermé, donc freemarker évalue 

<#if num >

vous devriez plutôt utiliser

<#if num gt 100>

Ceci est discuté à la fin de cette documentation sur les déclarations if https://freemarker.Apache.org/docs/ref_directive_if.html

La raison pour laquelle cela fonctionne pour certains et pas d'autres est à cause des parenthèses, ce qui est également expliqué au bas de la documentation

1
Tay Moore

Utilisez le code ci-dessous

<#if num?string > 100?string>
</#if>

Cela a fonctionné pour moi.