帆软社区
首页
服务平台
文档
学院
问答
论坛
认证
招聘
任务
市场
登录
请
登录
后使用快捷导航
没有帐号?
立即注册
用户操作
任务管理
我的任务
详情
摇摇乐
大转盘
许愿墙
积分商城
每日签到
设置
我的收藏
退出
腾讯QQ
微信登录
提问
针对SWITH函数的增强
番薯交流
发表于 2020-9-27 14:28
关注主题
取消关注
最新回复
取消
置顶回复
取消
最新编辑
楼主
x1205607030
Lv5
当前离线
经验值
1413
|
F豆
711 个
|
F币
0 元
贡献
0
|
最后登录
2025-7-22
加为好友
发送消息
x1205607030
Lv5
关注ta
我是社区第429104位番薯,欢迎点我头像关注我哦~
package
plus;
import
com.fr.function.SWITCH;
import
com.fr.general.ComparatorUtils;
import
com.fr.script.Calculator;
import
com.fr.stable.Primitive;
import
com.fr.stable.UtilEvalError;
import
com.fr.stable.script.Node;
public class
SwitchExtension
extends
SWITCH {
@Override
public
Object evalExpression(Node[] args)
throws
UtilEvalError {
if
(args.
length
<
2
) {
return
Primitive.
ERROR_NAME
;
}
else
{
Calculator calculator =
this
.getCalculator();
Object cal = calculator.evalValue(args[
0
]);
int
argsLength=args.
length
;
for
(
int
i =
1
; i < (argsLength%
2
==
0
?argsLength-
1
:argsLength); i +=
2
) {//新增判断是否有默认值
Object var5 = calculator.evalValue(args
);
if
(ComparatorUtils.
equals
(cal, var5) && i +
1
< args.
length
) {
return
calculator.eval(args[i +
1
]);
}
}
if
(argsLength%
2
==
0
) {
return
calculator.eval(args[argsLength-
1
]);//无符合条件的结果情况下且有默认值则采用默认值
}
return
Primitive.
NULL
;
}
}
}
0
0
分享扩散:
举报
沙发
x1205607030
Lv5
当前离线
经验值
1413
|
F豆
711 个
|
F币
0 元
贡献
0
|
最后登录
2025-7-22
加为好友
发送消息
x1205607030
Lv5
关注ta
发表于 2020-9-27 14:33:35
用法参照
https://help.fanruan.com/finereport/doc-view-698.html
中的3.3
示例:switchplus(表达式,结果1,值2,结果2...[,默认值])
如果表达式的结果是值1,整个函数返回结果1
如果表达式的结果是值2,整个函数返回结果2
如果表达式的结果是值3,整个函数返回结果3等等
如果无相符的结果且有默认值,则返回默认值
赞
举报
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
1
回帖数
1
关注人数
5399
浏览人数
最后回复于:
2020-9-27 14:33
任务进行中
话题进行中...
用帆软搭建一个车间计件系统--制造业
浏览数:108
【2506期】学习总结及心得记录
浏览数:138
一个传统行业IT从业者的学习路(BI学业总结)
浏览数:216
【2506期】BI数据分析从入门到精通实战班学习总结
浏览数:232
MYSQL8的year函数bug,求大神看看是什么原因?
浏览数:159
FineReport+mysql实现审批流自主/灵活配置
浏览数:301
2507 三周零代码工程师培训班学习感悟分享
浏览数:215
2507期简道云三周结业总结
浏览数:137
简道云学习班结业感悟总结
浏览数:160
简道云从入门到精通实战班学习班结业总结
浏览数:146
主题链接
复制
返回顶部
返回列表