5

我需要做划分:

{math equation="x/y" x=$x y=$y} // $x = '2', $y = '3'

如何在 Smarty 中准确地将字符串转换为数字,因为我无法访问 CMS 的专有代码?谢谢!

UPD:Smarty 版本:2.6.18

4

3 回答 3

10

如果它已经分配给一个变量,比如 $var,你可以像这样设置一个变量的类型:

{$converted = settype ($var, 'integer')}

您不必使用 $converted 值,但如果您不分配它,布尔值将显示在您的页面中。

或者你可以试试

{$variable|intval}
于 2014-05-16T12:34:22.230 回答
4

你可以试试这个{$variable|intval}

并且((int)$variable)

例如:

$x_new = (int) $x;
$y_new = (int) $y;

在你的情况下:

{math equation="x/y" x=(int)$x y=(int)$y}
于 2014-05-16T12:34:37.687 回答
2

它无需修改即可工作:

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 值是什么/

于 2014-05-16T15:07:16.560 回答