24-09-20, 07:26 PM
(24-09-20, 05:44 PM)Anas Mahmoud كتب : ما تطلبه غير ممكن ، ببساطة لان الرقم من نوع Integer سيظل كما هو ما يختلف هو فقط طريقة اظهاره كقيمة نصيهاخى البيثون لها حل اما سى شارب ما لقيت حل
الرقم من نوع Integer يتم تخزينه في 4 بايتات وبالتالي الموضوع اعمق من فكره اظهار الاصفار البادئة ليس لنا تحكم على طريقة تخزين الرقم كرقم ما يمكننا فعله هو تحويله لنص لنا تحكم فيه
ما يمكنك فعله هو التعديل على الدالة التي تقوم بالتعامل مع هذا الرقم واخذ الاحتياطات تجاه كون الرقم اصغر من 1000 ، تقوم باسناد قيمة المتغير المقابل لاحاد الالاف ب 0 وتتعامل
اذا كان متاح لك الكود ربما تضعه ونحاول القفز على المشكلة
بمعنى اخر :
الرقم 495 يتم تخزينه في الذاكرة على هيئة :
او بالصورة الثنائية :كود :
0x000001EF
كود :
00000000 00000000 00000001 11101111
مانفعله عندما نقوم باستدعاء ToString هو ايجاد تمثيل نصي لهذه القيمة كما نحب ان نراها سواء :
495
495.0
0495
4.95E2
كلها تخزن بنفس الطريقة ك Integer ، لا يهتم النوع Integer بكيف تريد ان تظهر ارقامك ، هو فقط يهتم بالرقم نفسه
اذا كان لديك مشكلة ان الرقم اصغر من 1000 عليك التعامل مع هذه المشكلة داخل الكود وليس على مستوى النوع Integer
لان الدله الى تولد ارقام هى الملى ثانية واحاول تعديها عندما تكون
495
0495
لازم تكون قيمة احاد الالوف هل من حل ضرورى او شى يفحص لاسناد صفر
