PracticU

המרה בין סוגי משתנים - Type Conversion

בלי כתוביותעם כתוביות
PracticU › קורס פיתוח אפליקציות - לאייפון iPhone iOS - ב-Swift-Xcode › המרה בין סוגי משתנים - Type Conversion
מילון מושגים:
משתנה - שם שמפנה למקום בזיכרון שבו נשמר ערך שיכול להשתנות במהלך ריצת התוכנית, כמו מספר, טקסט או אובייקט.
מחרוזת - סוג נתונים שמייצג רצף של תווים, כלומר טקסט, ומשמש לאחסון מילים, משפטים או כל רצף סימנים.
בנאי - מתודה מיוחדת שמופעלת אוטומטית בעת יצירת אובייקט ממחלקה, ומאתחלת את ערכיו ההתחלתיים.
אופרטור - סימן בקוד שמבצע פעולה על ערכים, כמו חיבור, השוואה או פעולה לוגית.

המרה בין סוגי משתנים - Type Conversion
השיעור מסביר המרה בין טיפוסים ב-Swift בעזרת בנאים, מראה למה המרה ממחרוזת למספר מחזירה ערך אופציונלי, ומדגים בעיית חילוק בין Int ל-Double.
המרות
1. המרה באמצעות בנאי: Int(str) ממירה מחרוזת למספר. ההמרה לא תמיד מצליחה, ולכן התוצאה היא אופציונל.
2. בדיקה לפני שימוש: אם המחרוזת מכילה מספר מתקבל ערך, ואם לא מתקבל nil. בדוגמה המחרוזת "10" נותנת 20 אחרי הכפלה בשתיים, ומחרוזת שאינה מספר מדפיסה הודעה.
3. המרה ל-Double: Double(t) ממירה מספר שלם למספר עשרוני.
4. ממוצע: חישוב ממוצע של שלושה מספרים שלמים דורש להמיר את הסכום ל-Double לפני החילוק, כי Swift לא מאפשרת לחלק Int ב-Double.
5. המרה למחרוזת: סטרינג אינטרפוליישן ממיר משתנה למחרוזת, למשל "\(h)".
שימו לב
בלי רווחים סביב אופרטור הקוד עלול להתפרש בצורה לא ברורה, לכן מומלץ לשמור על רווחים.
תרגול
השיעור מציע לתרגל חישוב טיפ של 15% על חשבון של 200 והצגת הסכום לתשלום. מומלץ גם לתרגל סכום, ממוצע ומכפלה של ארבעה מספרים, וכן המרה בין מחרוזת למספר.
כעת אפשר להמיר בין מחרוזת, מספר שלם ועשרוני, ולהבין למה נדרשת המרה בחישוב.
השיעור הבא בקורס: משפטי תנאי - if - else - שפת Swift

פרקי ההרצאה: המרה בין סוגי משתנים - Type Conversion

  1. 00:00

    מהי המרה בין סוגי משתנים

  2. 00:38

    המרת מחרוזת למספר והחזרת Optional

  3. 02:51

    כשההמרה נכשלת: מחרוזת שאינה מספר

  4. 03:29

    המרה בין Int ל-Double

  5. 04:25

    תרגיל: חישוב ממוצע של ארבעה מספרים

  6. 05:27

    חילוק שלם מול חילוק עשרוני בממוצע

  7. 06:41

    רגישות הקומפיילר לרווחים בין אופרטורים

  8. 07:32

    המרת Int לסטרינג בעזרת String Interpolation

תמלול ההרצאה: המרה בין סוגי משתנים - Type Conversion

הטקסט המלא של הדקות הראשונות בהרצאה «המרה בין סוגי משתנים - Type Conversion» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

    שלום וברוכים הבאים אחרי שלמדנו על משתנים ועל המשתנים המיוחדים האופציונל של סופת סוויף עכשיו אנחנו יכולים סוף סוף לעבור לדבר על המרה בין סוגי משתנים למשל ניתן לכם דוגמא לפעמים אתם רוצים להמיר סטרינג למספר לפעמים אנחנו רוצים להמיר דאבל להיות מספר שלם ועוד דוגמאות כאלה ואחרות בסדר מהסגנון הזה המרה בין סוגי משתנים

  2. 00:33

    אז בואו נדבר איך אנחנו ממירים בין המשתנים דאבל למספר וכן הלאה. דבר ראשון שהייתי רוצה לציין שההמרה מתבצעת בצורה של בנאים. מה זאת אומרת?

  3. 00:43

    למשל יש לי איזשהו סטרינג str שמכיל בתוכו מספר, נכון? עכשיו הדבר הזה הוא סטרינג ואני לא יכול לעשות איתו פעולות חשבון, אני לא יכול לומר str כפול ושתיים מכיוון שזה פשוט לא ביטוי בר משמעות, נכון? אי אפשר לכפול סטרינג באינטג'ר.

  4. 01:03

    מה שהיינו אולי רוצים לעשות זה להמיר את הדבר הזה להיות מספר. אז איך עושים את זה? בואו נבדוק. כדי להמיר את הסטרינג שלי להיות מספר, אז בואו נאמר אני אקרא לזה num, אני ארצה פשוט להמיר את הסטרינג למספר בצורה הבאה.

  5. 01:19

    אני משתמש פה בבנאי של אקסטרקט אינד ומעביר לבנאי הזה את הסטרינג str בצורה הזאת. מאוד מאוד פשוט. עכשיו השאלה היחידה היא מה אני קיבלתי כאן, בסדר?

  6. 01:34

    בואו ננסה לבדוק מה הטייפ של נם, מה דעתכם תהיה התשובה דרך אגב, בואו נחשוב, האם זה מספר רגיל או שזה אופציונל, מה דעתכם?

  7. 01:42

    אופציונל הוא מספר רגיל, בואו נבדוק, כן. אז כפי שציפיתם בוודאי ההמרה לא בהכרח תצליח, לא בהכרח תצלח, יכול להיות שיש פה סטרינג אבל יכול להיות שיש כאן גם מספר ולכן אנחנו מקבלים פה אופציונל, אוקיי?

  8. 02:03

    אם יש פה 10 אז ההמרה תצליח, אם יש פה צ'אר אחר נגיד p אז כבר זה לא תקין נכון זה לא מספר תקין ואז הדבר הזה יניל. אז סוויפט בעצם משתמשת כאן באופציונלס כדי לעזור לי להימנע מבעיות עם המרות.

  9. 02:19

    בשפות אחרות התוכנית פשוט קורסת. בסוויפט קיבלתי אופציונל ומה עליי לעשות כרגע? עליי לבדוק אם יש לי מספר אז אני יכול להשתמש בו בבטחה ואפילו לכפול אותו בשתיים.

  10. 02:34

    בוא נבדוק אם כרגע זה כבר יעבוד לי בוא נראה. מצוין עכשיו אם אני אריץ את התוכנית שלי אז הפעם אנחנו מצפים לראות איזה פלט של 20 נכון בוא נבדוק בוא נראה את הפלט 20 יפה מאוד אבל מה היה קורה אם יש לנו כאן איזשהו מספר לא תקין במצב כזה אני כמובן לא אקבל פלט ואז אני יכול פה להשתמש ב-S

  11. 03:00

    ולהגיד ש-STR is not enough לא נכון בוא נבדוק אם אני אריץ את זה עם ה-10 אז אני אקבל את ה-20 כמובן אחרת אני אקבל sdr is not a number ולכן ההמרה פשוט כשלה ההמרה פה נותנת לי מספר אופציונלי כאן עשינו את הטייפ קולבר שם בעצם מה שעשינו זה להמיר את הסטרינג שלי לינק בדיוק על ידי הבנאי פה של הסטראקט

  12. 03:27

    אינטג'ר עכשיו בואו ננסה לראות עוד דוגמאות להמרה בין סוגי משתנים ואחר כך אני גם אתן לכם תרגיל הדוגמה שלנו אומרת רוצים לפעמים להמיר מספר שלם למספר עשרוני או להפך בוא נאמר קיבלנו 15 אבל אנחנו רוצים שהוא יהיה דאבל קיבלנו בוא נאמר t שווה 15 ואני החלטתי שזה צריך להיות 15 נקודה נקודה עכשיו כרגע הדבר הזה כבר נקבע להיות int מה קורה אם באיזשהו שלב אנחנו

  13. 03:57

    רוצים להמיר את זה לדאבל כדי להמיר את זה לדאבל אנחנו פשוט נמיר את זה לדאבל בדיוק באותה צורה כמו קודם אני אהפוך את t להיות d בדיוק ככה שוב פעם type conversion בעזרת אפשר כמובן להדפיס את הדבר הזה. עכשיו הייתי רוצה גם להראות דבר נוסף שבדוגמה הזאת אנחנו פשוט נצטרך, יש הרבה דוגמאות שבהן נצטרך

  14. 04:25

    את הטייפ קונברשן הזה וזה מאוד מאוד חשוב להכיר את הסינטקס וגם להכיר את הרצונות של סוויפט בנוגע לדברים מסוימים. בוא נאמר יש לי שלושה מספרים let num1 שווה 2 let num2 שווה ל3 ולט נם ארבע בוא נאמר שווה לחמש נם ארבע. עכשיו אנחנו רוצים לחשב את הממוצע איך נחשב את הממוצע של המספרים זאת שאלה מאוד מאוד פשוטה נכון הממוצע של המספרים במקרה שלנו

  15. 04:59

    אם אנחנו ניזכר בבית הספר זה שלושת המספרים הסכום שלהם לחלק לשלוש לחלק למספר האיברים בוא נראה איך זה יתבצע אז let sum הוא יהיה שווה ל-num1 ועוד num2 ועוד num4 כל הסיפור הזה, נכון?

  16. 05:20

    זה הסכום של המספרים. עכשיו, איך נחשב את הממוצע? אמרנו avg צריך להיות בערך הסכום לחלק ל-3. עכשיו, למה אני אומר בערך? בוא נדפיס רגע את ה-avg ונראה.

  17. 05:38

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

  18. 06:02

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

  19. 06:25

    או אינטג'ר משני הצדדים ולכן אני אשתמש פה בטייפ קונברשן כמו שדיברנו קודם המרתי את הסכום להיות דאבל ועכשיו אני מצפה לקבל סוף סוף את הממוצע המדויק אני רוצה לציין עוד איזושהי עובדה קטנה כדי שלא תחבו איזשהו תסכול בתרגול.

  20. 06:47

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

  21. 07:05

    אחד משמאל ואחד מימין. אז אם אני עכשיו אמחק את הרווח, אתם רואים אז יש פה איזשהו אי הבנה האם אני רוצה לעשות נר אחד פלוס או מה אני רוצה לעשות כאן.

  22. 07:17

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

  23. 07:32

    לפני שנמשיך לתרגול אני רוצה להדגיש שכבר עשינו איזושהי המרת משתנים בעבר. למשל אני רוצה לשאול אתכם שאלה איך אתם ממירים מספר שלם למשל int בסדר נגיד let h of type int איך אתם ממירים לי את הדבר הזה להיות סטרינג ההמרה פה יכולה בהחלט להתבצע על ידי זוכרים?

  24. 07:57

    סטרינג אינטרפוליישן בוא נראה let str h שווה אנחנו נעשה פה סטרינג חדש למעשה אם נשתמש בסטרינג אינטרפוליישן ופשוט

לקורס המלא: קורס פיתוח אפליקציות לאייפון

ההרצאה הקודמת: Optionals: The Guard Let statement

ההרצאה הבאה: משפטי תנאי - if - else - שפת Swift

הרצאות קשורות מקורסים אחרים

  • סוגי משתנים
  • סוגי משתנים ב-TypeScript
  • משתנים
  • משתנים - חלק 1

קורסים נוספים במסלול

  • קורס יסודות התכנות - שפת JAVA - קורס ג'אווה למתחילים
  • קורס פיתוח אפליקציות - לאנדרואיד - Android - ב-JAVA
  • קורס פלאטר - Flutter - שפת DART של גוגל למובייל - פיתוח אפליקציות לאנדרואיד ואייפון
  • קורס PhoneGap - פיתוח אפליקציות לאנדרואיד ואייפון