當 ABAP 程式中使用 ifthenelse 條件時,除法的問題會導致輸出為 0 或 1


問題是,第二個引數是 0,這是一個整數,因此輸出始終為一個整數,就好像 ifthenelse 從第二個引數中獲取資料型別一樣。因此,在您的案例中,如果答案小於 .5,它將轉換為 0,如果大於 .5,它將轉換為 1。您需要對第二個引數使用 cast 將其轉換為十進位制資料型別,如下所示

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

更新於:05-Dec-2019

192 次瀏覽

開啟你的職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.