تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
مشكله فى التحويل من string to int
#1
السلام عليكم ورحمة الله وبركاته 
لدى مشكله فى التحويل من نص الى قيمة رقمية
الصورة توضح القيمة الاولى هى رقمية والقمية الثانية نص ومحولة لرقمية كيف لى ان اجعل الرقيمة تبداء بصفر اعرف انه 
ليس له لازمة ولكن فى معادلة الصفر مهم فيها يبداء فية لان لازم تكون القيمة من 4 ارقام والا هيطلع نتائج غلط 
وشكرا مقدما لكم 
الكود المستخدم

كود :
           string myTime = DateTime.Now.ToString("ffff");

           int t1 = int.Parse(myTime);
           lbltime1.Text = t1.ToString();

           ts1.Text = myTime.ToString();

الرد }}}
تم الشكر بواسطة:
#2
كود :
t1.ToString("0000")
الرد }}}
تم الشكر بواسطة: issamsaidd , issamsaidd
#3
(24-09-20, 05:29 PM)Anas Mahmoud كتب :
كود :
t1.ToString("0000")

انا اريدها قيمة رقمية تبداء بصفر وليس نص لانها هتدخل فى معادلة رياضية وشرط المعادلة تكون 4 ارقام يعنى بالمبسط 
احاد عشرات مئات احاد الالف 
وحتى وان كان احاد الالوف صفر
الرد }}}
تم الشكر بواسطة:
#4
ما تطلبه غير ممكن ، ببساطة لان الرقم من نوع Integer سيظل كما هو ما يختلف هو فقط طريقة اظهاره كقيمة نصيه

الرقم من نوع Integer يتم تخزينه في 4 بايتات وبالتالي الموضوع اعمق من فكره اظهار الاصفار البادئة ليس لنا تحكم على طريقة تخزين الرقم كرقم ما يمكننا فعله هو تحويله لنص لنا تحكم فيه

ما يمكنك فعله هو التعديل على الدالة التي تقوم بالتعامل مع هذا الرقم واخذ الاحتياطات تجاه كون الرقم اصغر من 1000 ، تقوم باسناد قيمة المتغير المقابل لاحاد الالاف ب 0 وتتعامل

اذا كان متاح لك الكود ربما تضعه ونحاول القفز على المشكلة

بمعنى اخر :

الرقم 495 يتم تخزينه في الذاكرة على هيئة :

كود :
0x000001EF
او بالصورة الثنائية :

كود :
00000000 00000000 00000001 11101111

مانفعله عندما نقوم باستدعاء ToString هو ايجاد تمثيل نصي لهذه القيمة كما نحب ان نراها سواء :

495
495.0
0495
4.95E2

كلها تخزن بنفس الطريقة ك Integer ، لا يهتم النوع Integer بكيف تريد ان تظهر ارقامك ، هو فقط يهتم بالرقم نفسه 
اذا كان لديك مشكلة ان الرقم اصغر من 1000 عليك التعامل مع هذه المشكلة داخل الكود وليس على مستوى النوع Integer
الرد }}}
تم الشكر بواسطة: issamsaidd
#5
(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
لازم تكون قيمة احاد الالوف هل من حل ضرورى او شى يفحص لاسناد صفر
الرد }}}
تم الشكر بواسطة: Anas Mahmoud
#6
اخي الكريم اخبرني بالاستخدام الذي تريده حتى اساعدك
الرد }}}
تم الشكر بواسطة: issamsaidd
#7
(24-09-20, 07:56 PM)Anas Mahmoud كتب : اخي الكريم اخبرني بالاستخدام الذي تريده حتى اساعدك
قياس سرعة السيارات المركبات عبر مكتبة emgu cv فى خاصية انه يعمل خط عند ما تمر السيارة تحته يسجل الملى ثانية 
وخط اخر بعده تمر تحته يسجل الملى ثانية ويقسمهم على الف ليحولهم ثانية ثم تقسم على المسافة تخرج السرعة
الرد }}}
تم الشكر بواسطة:
#8
طيب لو طرحنا مثلا 520 مللي ثانية من 1823 مللي ثانية يعطينا 1303 مللي ثانية

حتى لو طرحنا 1200 من 1203 والناتج 3

مازال رقم صالح ؟ اين المشكلة بالضبط ؟

اذا كانت الدالة تقبل Int فلن يكون هناك مشكلة

اعذرني اخي احاول الوصول للمشكلة ارجو التوضيح اكثر
الرد }}}
تم الشكر بواسطة: issamsaidd
#9
(25-09-20, 10:37 AM)Anas Mahmoud كتب : طيب لو طرحنا مثلا 520 مللي ثانية من 1823 مللي ثانية يعطينا 1303 مللي ثانية

حتى لو طرحنا 1200 من 1203 والناتج 3

مازال رقم صالح ؟ اين المشكلة بالضبط ؟

اذا كانت الدالة تقبل Int فلن يكون هناك مشكلة

اعذرني اخي احاول الوصول للمشكلة ارجو التوضيح اكثر
صحيح ولكن احينا تاتى القيمة الاولى والثانية تبداء بصفر على اى حال حليت المشكله شكرا لك
الرد }}}
تم الشكر بواسطة:
#10
طب اخبرنا ما الحل ، شكرا لك
الرد }}}
تم الشكر بواسطة: issamsaidd


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  مشكله فيdt سطور الحياة 1 758 15-08-23, 02:03 AM
آخر رد: WAEL ABED
  مشكله فى كوود cannot open any more table khataan88 2 714 15-10-22, 03:07 PM
آخر رد: khataan88
  مشكله بخصوص نقل الداتا بيز من جهاز المبرمج لجهاز العميل smsmmalak 1 949 07-10-22, 12:45 PM
آخر رد: asemshahen5
  [C#.NET] إذا قمت بتحديد نص عن طريق الماوس كيف يمكن تخزين الذي تم تحديده بمتغير String osama623 5 1,146 15-07-22, 02:57 PM
آخر رد: سعود
  مشكله بخصوص طباعه لاصق الباركود c# smsmmalak 4 1,597 07-06-22, 11:50 AM
آخر رد: smsmmalak
  مشكله فى اغلاق البرنامج khataan88 1 853 28-05-22, 06:50 AM
آخر رد: khataan88
  السلام عليكم مشكله عند تشغل البرنامج بعد تثبيته من الحزمة Ikramynasr 1 1,073 01-12-21, 08:41 PM
آخر رد: asemshahen5
  مشكله اتمنى انكم تساعدوني فيها طلال الحربي 0 1,090 07-08-21, 01:07 AM
آخر رد: طلال الحربي
  مشكله فى التحويل من ص الى am issamsaidd 3 2,109 14-06-21, 11:29 PM
آخر رد: anolkay
  مشكله فى التنقل بي سجلات الجدول سلام و محبه 1 1,379 31-01-21, 04:08 PM
آخر رد: سلام و محبه

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم