الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

التحويل من النص الى الأرقام

مغلق
بدأه عنق الزجاجة في 15 أغسطس 2001 · 1 رد · 2,904 مشاهدة · في قسم المواضيع الهامة في قسم السي /سي++
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم :)

أريد منكم شرح كيفية تحويل المتغيرات النصية الى متغيرات رقمية :) عشان توضح الصورة أكثر ، لو أردت تخزين قيمة التايمر للثواني فإنه سيكون بين 0 - 59 ، ودي أخزنه في متغير من نوع int :( ، ما هو المطلوب ، مع الشكر الجزيل :):):)

#2

السلام عليكم.

لم أفهم سؤالك بشكل صحيح:)ماذا تقصد بتخزين قيمة التايمر للثواني ؟؟!!

على كل إذا كان قصدك تحول الأرقام المصاغة بشكل نص مثل : "123" إلى رقم تستطيع تنفيذ العمليات الحسابية عليه فعليك استخدام التوابع:

atoi للتحويل من نص إلى عدد من نوع int

atol للتحويل من نص إلى عدد من نوع long

atof للتحويل من نص إلى عدد من نوع double

وهذا مثال يوضح كيفية استخدامها ( مقتبس من MSDN )

#include 
#include 

void main( void )
{
   char *s; double x; int i; long l;

   s = "  -2309.12E-15";    /* Test of atof */
   x = atof( s );
   printf( "atof test: ASCII string: %stfloat:  %en", s, x );

   s = "7.8912654773d210";  /* Test of atof */
   x = atof( s );
   printf( "atof test: ASCII string: %stfloat:  %en", s, x );

   s = "  -9885 pigs";      /* Test of atoi */
   i = atoi( s );
   printf( "atoi test: ASCII string: %sttinteger: %dn", s, i );

   s = "98854 dollars";     /* Test of atol */
   l = atol( s );
   printf( "atol test: ASCII string: %sttlong: %ldn", s, l );
}

وستكون النتيجة التي ستظهر من المثال السابق كالتالي :

atof test: ASCII string:   -2309.12E-15   float:  -2.309120e-012
atof test: ASCII string: 7.8912654773d210   float:  7.891265e+210
atoi test: ASCII string:   -9885 pigs      integer: -9885
atol test: ASCII string: 98854 dollars      long: 98854

إذا لم يكن هذا ما تقصده فأرجو التوضيح

مع التحيات.

هذا الموضوع مغلق.

مواضيع مشابهة