我需要做除法:
{math equation="x/y" x=$x y=$y} // $x = '2', $y = '3'
如何在Smarty中准确地将字符串转换为数字,因为我无法访问CMS的专有代码?谢谢!
乌利希期刊指南:Smarty版本:2.6.18
如果它已经被分配给一个变量,比如$var,你可以这样设置变量的类型:
{$converted = settype ($var, 'integer')}
不必使用$转换后的值,但如果不赋值,bool值将显示在页面中。
或者你可以试试
{$variable|intval}
您可以试试这个{$variable|intval}
和((int)$variable)
$x_new = (int) $x;
$y_new = (int) $y;
在你的例子中:
{math equation="x/y" x=(int)$x y=(int)$y}
无需修改即可在:
PHP:$x = '2' ;
$y = '3' ;
$smarty->assign('x',$x);
$smarty->assign('y',$y);
$smarty->display('index.tpl');
Smarty:
{math equation="x/y" x=$x y=$y}
显示结果为:0.66666666666667
在最新可用的Smarty 2.6.28版本中进行了测试
所以你应该考虑尝试升级到最新的Smarty(当然你必须备份所有的东西,以防它会引起任何问题),因为旧版本有很多错误。
你也在你的问题中没有写什么结果显示你smarty和变量x和y值显示在smarty/