smarty convertit une chaîne en nombre
J'ai besoin de faire deviding:
{math equation="x/y" x=$x y=$y} //$x = '2', $y = '3'
Comment faire pour convertir des chaînes en nombres exactement dans Smarty, coz je n'ai pas accès à la propriété du code de la CMS?
Merci!
UPD: Smarty version: 2.6.18
- int enfermé à l'intérieur de l'équation est autorisé (voir ici: smarty-php.googlecode.com/svn/tags/Smarty_2_6_18/libs/plugins/...) si vous pouviez simple ce faire
{math equation="(int)x/(int)y" x=$x y=$y}
- a probablement le plus lisible et efficace solution. Le chemin le plus court est de multiplier par
1
, parce que nombre multiplié par1
reste toujours le même et*
opérateur est pour les nombres seule, pour les variables qui ne sont pas déjà des numéros de convertis.{math equation="x/y" x=$x*1 y=$y*1}
Vous devez vous connecter pour publier un commentaire.
Si elle est déjà affectée à une variable, disons $var, vous pouvez définir le type d'une variable comme ceci:
Vous n'avez pas à utiliser $de la valeur convertie, mais si vous n'avez pas à les céder, les bool apparaîtra sur votre page.
ou vous pouvez essayer
Vous pouvez essayer ce
{$variable|intval}
et aussi
((int)$variable)
Par Exemple:
Dans votre cas:
Il fonctionne sans modifications:
PHP:
Smarty:
Résultat affiché est:
0.66666666666667
Il a été testé dans le dernier disponible Smarty version 2.6.28
De sorte que vous devriez envisager d'essayer la mise à niveau la plus récente de Smarty (bien sûr, vous avez à tout sauvegarder au cas où il ne cause aucun problème), car il y avait beaucoup de bugs dans les versions plus anciennes.
Vous aussi dans votre question n'ai pas écrit ce que les résultats vous montre smarty et quelles sont les variables x et y les valeurs affichées dans Smarty/