💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
## 1.9 数学表达式 [TOC] ### 1.9.1 算数表达式 Beetl支持类似javascript的算术表达式和条件表达式,如+ - * / % 以及(),以及自增++,自减-- ```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的条件表达式,如 `>`,`<`,`==`,`!=`,`>=` , `<=` 以及 `!`, 还有 `&&` 和 `||` ,还有`三元` 表达式等,如下例子: ```javascript <% var a = 1; var b="good"; var c = null; if(a!=1&&b=="good"&&c==null){ ...... } %> ``` 三元表达式如果只考虑 true 条件对应的值的话,可以做简化,如下两行效果是一样的。 ```javascript <% var a = 1 ; %> ${a==1?"ok":''} ${a==1?"ok"} ```