使用 ABAP 程序中的 ifthenelse 条件时,如果输出除法运算为 0 或 1,会出现问题


问题在于你的第二个参数是 0,它是一个整数,所以输出总是一个整数,因为 ifthenelse 会根据第二个参数获取数据类型。因此,就你的例子来说,如果答案小于 0.5,它会被转换成 0,如果大于 0.5,它会被转换成 1。你需要将第二个参数转换为十进制数据类型,如下所示

 ifthenelse(Query.Den= 0, cast(0, 'Decimal(16, 02)'), Query.Num / Query.Den)

更新时间:2019 年 12 月 5 日

192 次浏览

启动你的 职业

通过完成课程获得认证

开始
广告