• הרשמה
    • התחברות
    • פוסטים אחרונים
    • תגיות
    • משתמשים
    • קבוצות

    C# | המרה בין טיפוסי משתנים

    מדריכים למתחילים
    csharp
    1
    1
    230
    טוען פוסטים נוספים
    • מהישן לחדש
    • מהחדש לישן
    • הכי הרבה הצבעות
    תגובה
    • הגיבו כנושא
    התחברו בכדי לפרסם תגובה
    נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
    • מנחם ציון
      מנחם ציון מנהל ראשי מנהל בניית אתרים נערך לאחרונה על ידי מנחם ציון

      כמו שראינו במדריך הקודם שאם מכניסים לתוכנית את הקלטים 3 ו8 התוצאה תהיה 5.0 ולא 5.5
      התשובה היא שכמו שכתבתי פה למטה בפעולות חשבון שאם המחלק והמתחלק הם מספרים שלמים התוצאה תהיה גם מספר שלם ולכן התוכנה נותנת תוצאה לא נכונה
      עכשיו נלמד איך לפתור את הבעיה נכתוב את הדרך המומלצת:
      במקום לכתוב את השורה מספר 7 כך:

      s = (t1+t2)/2;
      

      נכתוב אותה כך:

      s = (double) (t1+t2)/2;
      

      הסבר עכשיו המרנו את המשתנים t1 וt2 לטיפוס ממשי (double) ולכן התוצאה תהיה 5.5 כי הם מספרים ממשים ומספר ממשי חלקי ממשי =מספר ממשי
      עכשיו נגיע להמרה בין עוד טיפוסי נתונים!

      המרה

      אנחנו נמיר בין 3 טיפוסי נתונים בלבד int,double,char
      int ל double

      int t = 5;
      double f;
      f= t;
      

      שורה 1 הצהרנו על משתנה בשם t מטיפוס int ונתנו לו ערך 5
      שורה 2 הצהרנו על משתנה בשם f מטיפוס double
      שורה 3 העתקנו את הערך של t לf עכשיו f שווה 5.0
      int לchar

      int t = 97;
      char g;
      g = (char)t;
      

      שורה 1 הצהרנו על משתנה בשם t מטיפוס int ונתנו לו ערך 97
      שורה 2 הצהרנו על משתנה בשם g מטיפוס char
      שורה 3 המרנו את הערך של t והעברנו אותו לg עכשיו הערך של g הוא התו ששווה את המספר על פי טבלת unicode במקרה שלנו האות “a”
      double לint

      double f;
      int t
      f = 4.4
      f = (int)t
      

      שורה 1 הצהרנו על משתנה בשם f מטיפוס double
      שורה 2 הצהרנו על משתנה בשם t מטיפוס int
      שורה 3 נתנו ערך למשתנה f עכשיו הוא שווה 4.4
      שורה 4 המרנו את הערך של f לt עכשיו t שווה 4 בגלל שt הוא מטיפוס שלם ולכך כשהמרנו את הערך של t ל int הוא התעגל ל4
      double לchar

      double f;
      char c;
      f = 97.4;
      c = (char)f;
      

      שורה 1 הצהרנו על משתנה בשם f מטיפוס double
      שורה 2 הצהרנו על משתנה בשם c מטיפוס char
      שורה 3 נתנו ערך למשתנה f עכשיו הוא שווה 97.4
      שורה 3 המרנו את הערך של f והעברנו אותו לc עכשיו הערך של c הוא התו ששווה את המספר המעוגל על פי טבלת unicode במקרה שלנו האות “a” בגלל שהמספר התעגל ל97
      char לint

      char c = "a";
      int t;
      t = c;
      

      שורה 1 הצהרנו על משתנה בשם c מהטיפוס char ונתנו לו ערך את האות a
      שורה 2 הצהרנו על משתנה בשם t מטיפוס int
      שורה 3 הכנסנו את הערך המספרי של האות a על פי טבלת unicode שזה 97 למשתנה t
      char לdouble

      char c = "a";
      double f
      f = (double)c
      

      שורה 1 הצהרנו על משתנה בשם c מהטיפוס char ונתנו לו ערך את האות a
      שורה 2 הצהרנו על משתנה בשם f מטיפוס double
      שורה 3 המרנו את הערך המספרי מהמשתנה c למשתנה f עכשיו המשתנה f שווה 97
      בהצלחה!
      אם יש שאלות ניתן להגיב או בצאט או בפוסט (אם אפשר לפתוח פה @Men770 ?)
      כמו כן אשמח לדעת בשביל לדעת אם לכתוב עוד מדריכים (משפטי תנאי,עצמים וכו’) אם יש כאלה שרוצים ללמוד או שחבל לי על הזמן
      תודה רבה!

      תגובה 1 תגובה אחרונה תגובה ציטוט 1
      • פוסט ראשון
        פוסט אחרון