עבור לתוכן

מספרים ב vb.net

Featured Replies

פורסם

1) איך ניתן לייצר משתנה מסוג int אך שיכיל רק 2 ספרות וגם יוכל להתחיל בסיפרה אפס? (למשל 00, 01, 02 ..)

2) איך הופכים שבר עשרוני לשבר פשוט (רגיל) כך שהמשתמש יוכל להבין? (למשל 1.333 יוצג כ- 1/3)

תודה

פורסם

אין דרך מובנית בשפה לעשות את זה.

במקרה הראשון, אתה צריך להגביל בעצמך את המשתנה לשתי ספרות (כלומר לעשות לו 100 % אחרי כל פעולה).

משתנה מטיפוס int לא יכול להתחיל בספרה אפס. אתה יכול להחזיק במקומו מחרוזת (string), אבל אז תצטרך לעשות את כל ההמרות. אופציה שניה, בהנחה שאיכפת לך מהאפס המוביל רק בהדפסה, היא להשתמש ב-String.Format (חפש ב-msdn איך משתמשים בה).

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

עבור 2, תיאורטית אין דרך לעשות את זה, כי אתה לא יכול לדעת אם בהכרח 0.3333 זה 1/3, או שיכול להיות שהתוצאה היא דווקא 3333/10000 (שזה רק קרוב לשליש, אבל לא בדיוק).

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

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

פורסם
  • מחבר

אחלה תשובה

תודה רבה

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים