math函數
均表達式中可以使用任何數值類型的變量,結果在math 標籤的位置輸出.
表達式中使用的變數被當作參數傳遞給函數,可以是模板變數或靜態值.
目前可以使用的運算子有: , -, /, *, abs, ceil, cos, exp, floor, log, log10, max, min, pi, pow, rand, round, sin, sqrt, srans andtan .
#如果指定了"assign" 這個特殊屬性,該函數的輸出值將被賦給由assign 指定的模板變量,而不是直接輸出.
技術要點: 由於使用了php 的eval() 函數,math 函數的執行效率不高. 在PHP 中做數學運算效率會更高一些,因此要盡可能在 PHP 中做數學運算,將結果賦給模板變數. 類似在 section 循環,應明確避免反复調用 math 函數.
eg:
{* $height=4, $width=5 *}
{math equation="x y " x=$height y=$width}
輸出:
9
{* $row_height = 10, $row_width = 20, #col_div# = 2, assigned in template *}
{math equation="height * width / division"
height=$row_height
width=$row_width
division=#col_div#}
#輸出:
100
{* you can use parenthesis *}
{math equation="(( x y ) / z )" x=2 y=10 z= 2}
#輸出:
6
{* you can supply a format parameter in sprintf format *}
{math equation="x y" x =4.4444 y=5.0000 format="%.2f"}
#輸出:
9.44