עבור לתוכן

איך להציג את ה-3 ספרות הראשונות של הערך בלבד?

Featured Replies

פורסם

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

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

199.97GB -> 199GB

24MB -> 24.0MB

35.52551GB -> 35.5GB

חשוב שלא יהיה עיגול של הערך, פשוט הצגת 3 ספרות ראשונות שלו.

* יש לי ידע בסיסי שמאפשר לעשות שינויים קטנים בתכנות.

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

הנה חלק מהעניין:

 </style>
<script type="text/javascript">
var drives, background;

function convertBytes(b)
{
var i = 0, u = Array(' MB', ' GB', ' TB');

while (b >= 1024 && (b / 1024) >= 1)
{
b /= 1024;
i++;
}

return (Math.round(b * 100) / 100) + u[i];
}

פורסם

מה קורה אם אתה מזין את הנתונים למשתנה שלא תומך בנקודה עשרונית?

פורסם
  • מחבר

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

אם המספר הוא במאיות אז שלא תיהיה נקודה.

ההסבר הכי פשוט הוא להציג רק את ה-3 ספרות הראשונות של הערך.

אגב אני לא יודע איך גורמים למשתנה לא לתמוך בנקודה עשרונית.

אני פשוט רוצה שהצורה שהוא יכתוב את הזכרון תיהיה כמו שרואים ב"המחשב שלי".

פורסם

פשוט תעתיק את המחרוזת משמאל לימין

אם הגעת לתוו שהוא לא מספר ועוד לא עברו 3 תווים תרפד את המספר באפסים עם נקודה מצד שמאל

אחרי שסיימת את זה תוסיף למחרוזת את ה2 אותיות שבאות בסוף המחרוזת המקורית

פורסם
  • מחבר

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

פורסם

תשמור את המשתנה בתיבה אחרת [גיבוי]

תחלק את המשתנה ב10 עד שהוא קטן מ1 ותשמור את מספר הפעמים שחילקת.

אם חילקת מספר פעמים גדול מ3, תחלק את המשתנה הראשון [המגובה] ב10 מספר הפעמים הקודם פחות 3. [נגיד קודם חילקת אותו 5 פעמים, עכשיו תחלק 2]

אם חילקת 3 פעמים, אל תעשה כלום.

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

פורסם

לא מבין בזה הרבה אבל השתעשתי בתכנות קצת בעבר.

אני הייתי בונה כמה פונקציות לכמה מצבים.

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

B/KB/MB/GB.

ומעגל את המספר.

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

תנסה לעשות TRUNC, אני מניח שיש כזאת פקודה גם בJAVA.

פורסם
  • מחבר

כמובן שניסיתי לחפש בגוגל לפני שפניתי לכאן.

אני עכשיו קורא קצת על TRUNC נראה אם זה יעזור לי.

תודה בכל אופן :)

אשמח לקבל סיוע נוסף

עריכה: KOKO רק עכשיו ראיתי את התגובה שלך, תודה גם לך. תוכל להסביר מה עומד מאחורי השיטה שלך?

פורסם

בטורבו פסקל הישן והטוב עשיתי כמה דברים דומים.

לקחתי תוצאות של מספרים והעברתי לSTRING שזה בעצם משתנה שמכיל TEXT CHARS.

ובSTRING היה אפשר להציג מאיפה עד איפה בSTRING.

וככה הייתי פשוט מציג רק את שלושה האותיות הראשונות.

בכל מקרה TRUNC אמור לעשות את אותו דבר עם מספרים.

זה דברים מאוד בסיסיים שקיימים בשפות תכנות מאז ימי בראשית.

לדעתי אתה צריך ללמוד קצת יותר פקודות ודרכי ניסוח.

בכל שפת תכנות חייבת להיות יותר מדרך אחת לנסח את מה שאתה רוצה להשיג.

פורסם

מה עומד מאחורי השיטה שלי? שלוש יחידות מחשבים :silly: [עשיתי יותר אל תדאגו...]

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

פורסם

כאשר מעתיקים משתנה עשרוני למשתנה שלם, החלק המועתק הוא החלק שמשמאל לנקודה

זו האופציה הכי אידיאלית

פורסם
  • מחבר

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

ארכיון

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

דיונים חדשים