Smarty将字符串转换为数字



我需要做除法:

{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/

最新更新