נושאים פעיליםנושאים פעילים  הצגת רשימה של חברי הפורוםרשימת משתמשים  חיפוש בפורוםחיפוש  עזרהעזרה
  הרשמההרשמה  התחברותהתחברות RSS עדכונים
תיכנות
RSS UnderWarrior Forums : RSS תיכנות
נושא

נושא: אני חייב עזרה עם משתנה ב C#

שליחת תגובהשליחת נושא חדש
כותב
הודעה << נושא קודם | נושא הבא >>
:)
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 07 March 2007 בשעה 17:06 | IP רשוּם
ציטוט :)

ככה ניסיתי להדפיס חיבור של שתי משנים DOUBLE ככה:
0.000000000111111+1
שתי המשצנים הם מסוג DOUBLE והם הכילו את הערכים  כמו שתכבתי למעלה ואחרי שהדפסתי את זה (CONSOLE.Writeline()(
הוא הדפיס 1 והרי ברור ש 0.000000000111111 זה שונה מ אפס ולכן הוא צריך להדפיס משהו אחר . .. . את זה :
1.000000000111111

השאלה שלי היא האם יש משתנה שיכול להכיל מספרים עשרוניים ארוכים מאוד גם אחרי הנקודה וכאשר אני אדפיס את המספר העשרוני הארוך הוא יודפס בשלמותו ?
חזרה לתחילת העמוד הצג את כרטיס החבר של :) חפש הודעות אחרות של :) בקר בדף הבית של :)
 
shoshan
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 16 July 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 4637
נשלח בתאריך: 07 March 2007 בשעה 17:37 | IP רשוּם
ציטוט shoshan

decimal

והכותרת לא לעניין.


__________________
עד מתי רשעים יעלוזו?

עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
חזרה לתחילת העמוד הצג את כרטיס החבר של shoshan חפש הודעות אחרות של shoshan בקר בדף הבית של shoshan
 
:)
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 07 March 2007 בשעה 17:43 | IP רשוּם
ציטוט :)

מה הבעיה פה :
decimal a = 0.5;
זאת השגיאה :
Error    1    Literal of type double cannot be implicitly converted to type 'decimal'; use an 'M' suffix to create a literal of this type
חזרה לתחילת העמוד הצג את כרטיס החבר של :) חפש הודעות אחרות של :) בקר בדף הבית של :)
 
shoshan
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 16 July 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 4637
נשלח בתאריך: 07 March 2007 בשעה 18:34 | IP רשוּם
ציטוט shoshan

כמו שכתוב, אתה צריך לשים m בסוך המספר שהקלדת כדי שיומר אוטומטית ל-decimal.

קוד:
decimal a = 0.5m


בכללי אם אתה מקבל שגיאה בנסיול להציב לדוגמא double ב-decimal אתה יכול להמיר ככה:
קוד:
double d = 0.5;
decimal a = (decimal)d;



__________________
עד מתי רשעים יעלוזו?

עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
חזרה לתחילת העמוד הצג את כרטיס החבר של shoshan חפש הודעות אחרות של shoshan בקר בדף הבית של shoshan
 
:)
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 07 March 2007 בשעה 20:33 | IP רשוּם
ציטוט :)

תודה עכשיו זה עובד  .. .
אבל גם DECIMAL זה לא ממש מדוייק הוא החזיר את המספר
1/14641(אחד חלקי ארבע עשרה אלף תשע מאות ארבעים ואחד).
בתור 0 . . . .
יש משהו אחר ?
חזרה לתחילת העמוד הצג את כרטיס החבר של :) חפש הודעות אחרות של :) בקר בדף הבית של :)
 
shoshan
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 16 July 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 4637
נשלח בתאריך: 07 March 2007 בשעה 22:31 | IP רשוּם
ציטוט shoshan

זה בגלל שאתה לא יודע c#.

אם אתה כותב את זה בצורה מספרית, בלי m, הקומפיילר מתייחס לזה כמו לחילות של מספרים שלמים (פשוט מגלל שכתבת בלי נקודה עשרונית, ויש הנחה שהתכוונת ל-int)

קוד:
decimal d = 1m / 14641m;

// 0.000068301345536507069189263



__________________
עד מתי רשעים יעלוזו?

עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
חזרה לתחילת העמוד הצג את כרטיס החבר של shoshan חפש הודעות אחרות של shoshan בקר בדף הבית של shoshan
 
:)
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 07 March 2007 בשעה 23:02 | IP רשוּם
ציטוט :)

אם אני רוצה להוסיף את ה  m  כמו שאתה עשית גם ב1 וגם ב 14641 אבל אצלי הם משתהים נגיד משה כזה :


decimal a = x/y

a,x,y הם כולם decimal אבל אם אני כותב  m  אחרי משתנה זה לא מבין את זה ניסיתי גם
decimal a = (decimal)x/y

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

הצטרף / הצטרפה: 16 July 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 4637
נשלח בתאריך: 08 March 2007 בשעה 17:20 | IP רשוּם
ציטוט shoshan

הקוד הבא אמור לעבוד...

קוד:
decimal x = 1;
decimal y = 14641;
decimal a = x / y;
Console.WriteLine(a);



__________________
עד מתי רשעים יעלוזו?

עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
חזרה לתחילת העמוד הצג את כרטיס החבר של shoshan חפש הודעות אחרות של shoshan בקר בדף הבית של shoshan
 
:)
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 08 March 2007 בשעה 18:16 | IP רשוּם
ציטוט :)

נראה לי שבכול זאת המספר שאני מנסה להכניס גדול מדי . . .  זה המספר הכיג דול שאפשר להכניס 9999999999999999999 ? (19 ספרות)
חזרה לתחילת העמוד הצג את כרטיס החבר של :) חפש הודעות אחרות של :) בקר בדף הבית של :)
 
shoshan
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 16 July 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 4637
נשלח בתאריך: 08 March 2007 בשעה 20:45 | IP רשוּם
ציטוט shoshan

אוך...נו...תקרא בתיעוד של MSDN...

__________________
עד מתי רשעים יעלוזו?

עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
חזרה לתחילת העמוד הצג את כרטיס החבר של shoshan חפש הודעות אחרות של shoshan בקר בדף הבית של shoshan
 

אם ברצונך להגיב לנושא זה עליך קודם להתחבר
אם אינך רשום/ה כבר עליך להרשם

  שליחת תגובהשליחת נושא חדש
גרסת הדפסה גרסת הדפסה

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