דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. מספר עשרוני בVBA

מספר עשרוני בVBA

מתוזמן נעוץ נעול הועבר תכנות
4 פוסטים 3 כותבים 186 צפיות 2 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • א מנותק
    א מנותק
    ארי
    כתב ב נערך לאחרונה על ידי
    #1

    שבוע טוב.
    אני מנסה לכתוב קוד שבו יכניסו שתי מספרים, לדוג' 20 ו600, והוא יחזיר חשבון של 600 פחות 20 אחוז.
    בשביל זה אני צריך דבר ראשון להמיר את ה20 ל0.8 ואז להכפיל 600 ב0.8 (תוצאה של 480).
    הקוד שניסיתי הוא כך:

    Public Function test()
    Dim a As Single, b As Single
    a = 20
    b = 600
    
    a = (100 - a)
    a = a \ 100
    
    Debug.Print b * a
    End Function
    

    אבל הוא מחזיר 0.
    מה הבעיה כאן?
    תודה!

    yossizY תגובה 1 תגובה אחרונה
    0
    • א ארי

      שבוע טוב.
      אני מנסה לכתוב קוד שבו יכניסו שתי מספרים, לדוג' 20 ו600, והוא יחזיר חשבון של 600 פחות 20 אחוז.
      בשביל זה אני צריך דבר ראשון להמיר את ה20 ל0.8 ואז להכפיל 600 ב0.8 (תוצאה של 480).
      הקוד שניסיתי הוא כך:

      Public Function test()
      Dim a As Single, b As Single
      a = 20
      b = 600
      
      a = (100 - a)
      a = a \ 100
      
      Debug.Print b * a
      End Function
      

      אבל הוא מחזיר 0.
      מה הבעיה כאן?
      תודה!

      yossizY מנותק
      yossizY מנותק
      yossiz
      כתב ב נערך לאחרונה על ידי yossiz
      #2

      @ארי
      שורה זו: a \ 100
      צ״ל: a / 100

      עריכה: מקודם לא הבנתי בכלל איך הקוד עבד, לא הכרתי את האפרטור \, עכשיו בדקתי מה זה האופרטור \ ואני מבין מה קרה, זה אופרטור עבור חלוקת מספרים שלמים "integer division" לכן זה מחזיר 0 עבור 0.8
      https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/backslash-operator

      📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

      א תגובה 1 תגובה אחרונה
      7
      • yossizY yossiz

        @ארי
        שורה זו: a \ 100
        צ״ל: a / 100

        עריכה: מקודם לא הבנתי בכלל איך הקוד עבד, לא הכרתי את האפרטור \, עכשיו בדקתי מה זה האופרטור \ ואני מבין מה קרה, זה אופרטור עבור חלוקת מספרים שלמים "integer division" לכן זה מחזיר 0 עבור 0.8
        https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/backslash-operator

        א מנותק
        א מנותק
        ארי
        כתב ב נערך לאחרונה על ידי
        #3

        @yossiz גאונות!
        תודה!

        dovidD תגובה 1 תגובה אחרונה
        3
        • א ארי

          @yossiz גאונות!
          תודה!

          dovidD מנותק
          dovidD מנותק
          dovid
          ניהול
          כתב ב נערך לאחרונה על ידי dovid
          #4

          @ארי כתב במספר עשרוני בVBA:

          @yossiz גאונות!

          אתה טועה, זו לא גאונות.
          זה לא איזה הוקוס פוקוס שהפיכת הלוכסן פותרת באגים,
          זה פשוט שני אופרטורים שונים בVBA:
          / - הלוכסן הרגיל של החילוק ושל נתיבי קבצים בשורת הכתובת באינטרנט,
          הינה חילוק רגיל. 10 / 3 = 3.3333333333333
          \ - זה נקרא לוכסן הפוך, זה הלוכסן המשמש בנתיבי הקבצים בWindows, ובזה השתמש בהתחלה
          הפעולה שהלכוסן הזה עושה היא חילוק שלמים, 10 \ 3 = 3. זה מאוד כיף, וכשעוברים לשפה אחרת שאין את זה אז בהתחלה עושים פרצופים חמוצים.

          בהצלחה.

          • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
          • בכל נושא אפשר ליצור קשר dovid@tchumim.com
          תגובה 1 תגובה אחרונה
          7
          תגובה
          • תגובה כנושא
          התחברו כדי לפרסם תגובה
          • מהישן לחדש
          • מהחדש לישן
          • הכי הרבה הצבעות


          בא תתחבר לדף היומי!
          • התחברות

          • אין לך חשבון עדיין? הרשמה

          • התחברו או הירשמו כדי לחפש.
          • פוסט ראשון
            פוסט אחרון
          0
          • דף הבית
          • קטגוריות
          • פוסטים אחרונים
          • משתמשים
          • חיפוש
          • חוקי הפורום