עבור לתוכן

מספר הספרות לפני/אחרי הנקודה ב- #C

Featured Replies

פורסם

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

למשל: אם התוצאה היא 350, הטופס יראה 000350. אם התוצאה היא 45623, הטופס יראה 045623.

ניסיתי לעשות את זה כך:

TaxiFLbl.Text = string.Format("{0:000000.#}", TAXI);

(TAXI הוא מחרוזת שמכילה את התוצאה)

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

פורסם
  • מחבר

משהו לא בסדר במה שכתבת. אני מקבל error כשאני עושה את זה.

אגב, שים לב ש- TAXI הוא string, אז אתה יכול להשמיט את ה- ToString.

זאת התגובה שקיבלתי מהמערכת:

The name 'TAXI' does not exist in the current context

פורסם

אופס, פספסתי את זה, חשבתי שזה int. תשתמש בפונקציה PadLeft ככה:

TAXI.PadLeft(6, '0');

לגבי השגיאה שקיבלת, היא לא קשורה (הוא לא מוצא בכלל משתנה בשם TAXI).

פורסם
  • מחבר

אוקיי. עובד מצויין! תודה רבה לך!

אם כבר, עוד שתי שאלות ברשותך:

1. מה המשמעות של ה- '0' בפונקציה?

2. האם PadRight יעשה את אותה הפעולה, רק בצידה הימני של הנקודה? אם כן, כיצד ניתן לשלב את שתי האופציות (נניח 6 ספרות משמאל ו- 2 מימין)?

פורסם
  • מחבר

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

למשל: מקסימום 6 ספרות משמאל ומקסימום ספרה אחת מימין.

פורסם

תחשוב בהיגיון על מה שאתה רוצה כאן:

אם הקלט שלך הוא 123, מה תהיה התוצאה?

001230?

000123?

פורסם
  • מחבר

לא הבנת אותי. אני מתנצל אם לא הסברתי את עצמי טוב קודם. אני אסביר שוב:

אני רוצה לשלוט במספר הספרות מימין ומשמאל לנקודה העשרונית.

אני רוצה שתוצאה של חישוב תוצג על ידי label תמיד עם 6 ספרות משמאל לנקודה ועם ספרה אחת מימין לנקודה (000000.0).

אם התוצאה היא 123, הפלט יהיה "000123.0".

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

פורסם
  • מחבר

זה מה שהיה חסר לי.

תודה רבה!!!

ארכיון

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

דיונים חדשים