עיגול מספר מחושב

פורומים אפיון ופיתוח פריוריטי עיגול מספר מחושב

  • Post
    אלמוני
    אורח
    שלום אולי מישהו יוכל להבין מה לא בסדר בקוד שרשמתי(מצורף למטה),
    אני מנסה לעגל את ערך השדה – SUMT , אך ללא הצלחה אני מקבל מספר לא שלם..

    /* ADD SETUP TO SON-QUANT WHERE ACT P1 */
    GOTO 200 WHERE :$.AUTORELEASE <> 'Y';
    :ADD_SETUP = 500;
    :OLD_QUANT = 0;
    :SUMT = 0;
    SELECT INTQUANT(MAX(REALQUANT(QUANT))) INTO :OLD_QUANT FROM KITITEMS
    WHERE
    SERIAL = :$.SERIAL;
    SELECT ROUND(REALQUANT(:OLD_QUANT + :ADD_SETUP)) INTO :SUMT FROM
    DUMMY;
    UPDATE KITITEMS SET QUANT = (:SUMT),
    ABALANCE = (:SUMT)
    WHERE SERIAL = :$.SERIAL AND KITFLAG = 'Y' AND ACT = 4;
    LABEL 200;

מוצגות 3 תגובות – 1 עד 3 (מתוך 3 סה״כ)
  • Replies
    roni
    משתתף
    תבדוק שאתה מכניס INT ל INT
    למה נחוץ לך המעבר ל REAL
    אתה יכול להריץ את הקוד ב WINBBI ולראות אילו ערכים אתה מקבל
    אלמוני
    אורח
    היי רוני
    הערכים שאני מכניס הם
    UPDATE KITITEMS SET QUANT = (:SUMT),
    ABALANCE = (:SUMT)
    ושתי העמודות QUANT ו- ABALANCE הן מסוג INT
    אבל עדיין המספר יוצא עם נקודה עשרונית ולא שלם..
    תודה בכל אופן 😉
    roni
    משתתף
    הבעיה שלך היא לא ב UPDATE אלא בשלב העיגול .
    למה אתה הופך ל REAL ?
    יש שתי פונקציות לעיגול
    ROUND ל INT
    ROUNDR ל REAL
מוצגות 3 תגובות – 1 עד 3 (מתוך 3 סה״כ)
  • יש להתחבר למערכת על מנת להגיב.