1.9 数学表达式
About 321 wordsAbout 1 min
2024-07-09
1.9 数学表达式
1.9.1 算数表达式
Beetl支持类似javascript的算术表达式和条件表达式,如+ - * / % 以及(),以及自增++,自减--
<%
var a = 1;
var b = "hi";
var c = a++;
var d = a+100.232;
var e = (d+12)*a;
var f = 122228833330322.1112h
%>
Beetl里定义的临时变量类型默认对应的java类型是Int型或者double类型,对于模板常用情况,已经够了.如果需要定义长精度类型(对应java的BigDecimal),则需要在数字末尾加上h以表示这是长精度BigDecimal,其后的计算和输出以及逻辑表达式都将按照长精度类型来考虑。
3.15.7版本后,新增配置'BIGDECIMAL=true', 可以表示所有数字都认为是BigDecimal类型(不在需要后缀h),适合高精度计算要求场景。
1.9.2 逻辑表达式
Beetl支持类似JavaScript、Java的条件表达式,如 >
,<
,==
,!=
,>=
, <=
以及 !
, 还有 &&
和 ||
,还有三元
表达式等,如下例子:
<%
var a = 1;
var b="good";
var c = null;
if(a!=1&&b=="good"&&c==null){
......
}
%>
三元表达式如果只考虑 true 条件对应的值的话,可以做简化,如下两行效果是一样的。
<%
var a = 1 ;
%>
${a==1?"ok":''}
${a==1?"ok"}