שלום וברכה לכולם יש לי קוד php שמקבל מספר ומבצע עליו מספר חישובים מתמטיים
אני אתן דוגמא נניח ושלחתי לו את המספר 752 אז בהתחלה אני לוקח את המספר (כל הפעולות נדרשות למהלך הקוד כמובן) ומחלק אותו במאה מבצע פעולות מסוימות מכפיל בעשר מבצע וכולי כדי להתייחס בנפרד למספרי העשרות אחדות מאות וכולי
כדי שזה יצא טוב אז מה שאני עושה זה שלאחר החלוקה למאה אני משתמש בפונקציה floor על מנת לקבל את המספר הנמוך לדוגמא המספר הנ"ל לאחר חלוקה למאה יוצא 7.52 אז הפונקציה הנ"ל מחזירה את הערך 7 וכך אני עושה 7.52-7 ואת התוצאה כפול עשר
מקווה שהייתי ברור עד עכשיו
עכשיו עד כאן הכל טוב אבל נתקלתי בשני בעיות
1 לאחר ששלחתי מספרים קשה לומר בוודאות איזה אבל יתכן שברוב הפעמים זה היה זוגי בזמן שהיה בעיה לא בטוח אז לפעמים אם אחרי כל הסיבוב יצא המספר 6 לדוגמא אז הפונקציה החזירה את הערך 5 וכך בעצם זה גם הפריע לחשבון וגם יצא אחד מיותר
2 לפעמים אחרי ההפחתה לא יצא המספר המתאים לדוגמא אם יצא בסוף 7 והפונקציה החזירה 7 ובצעתי הפחתה של המספר הראשון בשני אז יצא לי את המספר הבא (הועתק מהדפדפן ואין לי מושג איך ) 8.8817841970013E-16
כמובן שזה מאוד מוזר או שאם יצא המספר 5 אחרי הבעיה הקודמת שהזכרתי אז לאחר ההפחתה של 6 פחות 5 יצא לי את המספר הבא 0.99999999999998
עד כאן הבעיה
כמובן שזה מפריע לכל מהלך החישוב אז אם למישהו יש הסבר על הבעיה ו/או דרך איך לפתור אני ממש אודה לו
ממש מתנצל על האריכות זה פשוט היה כדי להסביר הכי טוב שיכולתי ולמנוע מצב שאנשים רוצים לעזור ולא מצליחים
מקווה שהייתי ברור מספיק אם לא אשמח לענות
תודה רבה רבה
ה
הלי
@הלי
-
מתמטיקה בשפת php לא נותן תוצאה רצויה -
אימות גוגל בסמס לבעלי טלפון כשר@אבי-203 אולי כדאי להוסיף בטופס עוד שדה של הערות וכולי לכל מה שצריך?