使用 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 次瀏覽

啟動你的 職業

透過完成課程獲得認證

開始
廣告
© . All rights reserved.