
Double.parseDouble. אחרי ההמרה אפשר לחשב עליה, למשל מס של 15%.NumberFormatException.הטקסט המלא של הדקות הראשונות בהרצאה «Conversion Functions» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
הסוג הבא שראינו הוא לא באמת קאסטינג אלא קונברז'ן, משהו קצת אחר. קאסטינג זה בשביל להשתיק את הקומפיילר מה שנקרא.
קומפיילר לא אישר ואנחנו מבצעים איזושהי המרה מסוימת. קונברז'ן פאנקשן זה פקודה שרצה רק בזמן הריצה, זאת אומרת אין פה קטע של הקומפיילר, הקומפיילר מתבצע לפני שהתוכנית רצה ואז או שהוא נותן לנו שגיאת קומפילציה או כמו שאנחנו עושים קאסטינג ואנחנו מתקנים את השגיאת קומפילציה
ויכולים להמשיך לתכנת וכמובן שהתוכנית יכולה לרוץ. conversion function אומרת כאשר אתם רצים שלחו את הערך לאיזושהי פונקציית מערכת והיא תבצע את ההמרה ותחזיר את הערך המומר.
זה המטרה ב-conversion function. אז בואו נראה דוגמה. יש לנו כאן איזשהו salary שאנחנו רוצים לקבל מהמשתמש, console next double בואו נגיד לuser please enter your salary והדוגמה שראינו הייתה כזאת שרצינו סטרינג sms message רצינו לסלוח את הסלרי בהודעת sms ומבחינתנו הודעת sms זה סטרינג אז אנחנו רוצים עכשיו לקחת את
הסלרי ולהכניס לתוך הסטרינג וכמובן אנחנו רוצים בואו נדפיס את שניהם salary ובואו נדפיס גם את ה-sms message וכבר אנחנו רואים שיש פה איזושהי בעיה אז כמובן שהקומפיילר לא מאשר לבצע דבר כזה מה זה אומר זה אומר שאין פה implicit casting שיכול להתבצע על ידי הקומפיילר אוקיי אז בואו נעשה explicit casting איך אנחנו עושים explicit casting פשוט נפתח פה
סוגריים נגיד שאני רוצה את ה-salary להמיר לסטרינג הכי פשוט ולהגיד לקומפיילר אוקיי בוא תעשה לי את זה אבל לא קומפיילר אומר לא אני את זה לא עושה לא תמיד ניתן לבצע גם אקספליסיט קאסטינג אז במקרה הזה קיימת במערכת איזושהי פונקציה שאומרת לנו תנו לי את הסלרי ואני אמיר אותה לסטרינג ויחזיר לכם את הסטרינג הפונקציה הזאת במקרה שייכת לכל טיפוס
נתונים אם אנחנו רוצים דאבל אז אנחנו יושבים דאבל עם די גדולה ואומרים לו תקשיב בוא תהפוך לי לסטרינג קח את הסלרי לסוגריים תחזיר לי ממנו סטרינג אפשר לראות את זה באינטליסנס הנה אנחנו רואים כאן סטרינג והכל עובד כמו שצריך בואו נריץ יש לנו פה בקשה של הסלרי מהיוזר נכניס איזה נקודה 5 ונראה שהצלחנו להמיר את זה לסטרינג
והסטרינג נחילה 10,000 נקודה 5. גם אם נכניס איזשהו ערך שהוא מספר שלם אז כמובן שיש לנו 10,000 נקודה 0 והצלחנו להמיר את זה בלי שום בעיה אבל בגלל שהדבר הזה כבר לא מתבצע ברמת הקומפיילר אלא בזמן הריצה יכול להיות שאנחנו נכניס כאן איזשהו משהו שהוא לא בסדר ולכן יכולה להיות איזושהי קריסה במהלך התוכנית.
כאן לא באמת תקרה לנו קריסה מפני שאנחנו ממש תמיד שולחים דאבל. אבל בואו נראה דוגמה אחרת שיכולה לגרום לקריסה אם אנחנו לא נטפל בה.
אז בואו נניח שאנחנו רוצים לבצע את הקוד הבא. נניח שקיבלנו sms, sms received או בואו ניקח את אותו משתנה sms message וקיבלנו את זה מאיזשהו מקום מרוחק ששלחו לנו sms ובגלל ש sms במקרה שלנו זה סטרינג אז קיבלנו את זה כסטרינג ומה ששלחו לנו זה את המשכורת עצמה אוקיי בואו
אפילו נקרא לזה sms salary message ואנחנו יודעים שהולך להישלח כאן איזשהו שהיא משכורת בואו נניח שזה 10,000.5 עכשיו אני בעצם רוצה לקחת את זה ולהפוך את זה לדאבל אמיתי למה כי אני רוצה לעשות עם זה כל מיני פעולות מתמטיות אז הנה יש לנו פה את הסלארי אני מנסה להכניס את הסמס סלארי מסאג' וכמובן אין פה שום אימפליסיט קאסטינג שניתן לבצע
בואו ננסה לעשות אקספליסיט קאסטינג נמיר את זה לדאבל והקומפיילר אומר לא, אני לא מסכים לעשות את