איך להציג את ה-3 ספרות הראשונות של הערך בלבד? - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

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


TiGeRGuY

Recommended Posts

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

כחלק מהתהליך אני רוצה שהוא תמיד יראה ערכים בעלי 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 אמור לעשות את אותו דבר עם מספרים.

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

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

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

קישור לתוכן
שתף באתרים אחרים

ארכיון

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

×
  • צור חדש...