smarty将字符串转换为数字

时间:2014-05-16 12:30:35

标签: php smarty smarty2

我需要做出决定:

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

如何在Smarty中完全将字符串转换为数字,因为我无法访问CMS的专有代码? 感谢名单!

UPD:Smarty版本:2.6.18

3 个答案:

答案 0 :(得分:6)

如果已将其分配给变量,例如$ var,则可以设置变量的类型,如下所示:

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

您不必使用$ converted值,但如果您不指定它,则bool将显示在您的页面中。

或者你可以试试

{$variable|intval}

答案 1 :(得分:2)

您可以尝试此{$variable|intval}

以及((int)$variable)

For Instance:

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

在你的情况下:

{math equation="x/y" x=(int)$x y=(int)$y}

答案 2 :(得分:2)

无需修改即可使用:

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(当然,您必须备份所有内容以防万一会出现问题),因为旧版本中存在许多错误。

你也在你的问题中没有写出什么结果显示你聪明,什么是变量x和y值显示在Smarty /