我需要做划分:
{math equation="x/y" x=$x y=$y} // $x = '2', $y = '3'
如何在 Smarty 中准确地将字符串转换为数字,因为我无法访问 CMS 的专有代码?谢谢!
UPD:Smarty 版本:2.6.18
如果它已经分配给一个变量,比如 $var,你可以像这样设置一个变量的类型:
{$converted = settype ($var, 'integer')}
您不必使用 $converted 值,但如果您不分配它,布尔值将显示在您的页面中。
或者你可以试试
{$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');
聪明的:
{math equation="x/y" x=$x y=$y}
显示的结果是:0.66666666666667
它在最后一个可用的 Smarty 版本 2.6.28 中进行了测试
所以你应该考虑尝试升级到最新的Smarty(当然你必须备份所有东西,以防它会导致任何问题),因为旧版本有很多错误。
您在您的问题中也没有写出什么结果显示您 smarty 以及 Smarty 中显示的变量 x 和 y 值是什么/