loading...
برنامه نویسی
سجاد بازدید : 3316 چهارشنبه 07 دی 1390 نظرات (2)

تبدیل نوع های داده ای:

درانجام محاسبات بر روی متغییرها مقدار یک متغییر در متغییر دیگرباید نوع داده ای آنها یکسان باشند در هنگام محاسبات اگر نوع های داده ای با هم متفاوت باشند یکی از متغییر ها به نوع داده ای متغییر دیگر تبدیل می شود تغییر نوع داده ای به دو روش انجام می شود

1ـ به صورت اتوماتیک

2ـ به صورت صریح

نکته : در بیشتر مواقع تبدیل نوع داده ای به صورت اتوماتیک توسط کامپایلر انجام می شود اما در مواقع ای این تبدیل نوع ممکن است منجر به از دست رفتن اطلاعات شود برنامه نویس باید آن را به صورت صریح انجام دهد

برای مثال اگر بخواهید یک متغییر اعشاری را در یک متغییر صحیح قرار دهید در این حالت نمی توانید به صورت معمولی از عملگر تساوی استفاده کرد . زیرا با این کار قسمت اعشاری عدد از بین می رود به همین علت کامپایلر این تساوی را به صورت اتوماتیک انجام نمی دهد اما اگر بخواهید یک متغییر از نوع صحیص را در یک متغییر از نوع اعشاری قرار دهید می توانید از عملگر تساوی استفاده کنید زیرا امکان از بین رفتن اطلاعات وجود ندارد

int intNumber = 2;

double dblNumber = 3.4;

intNumber = dblNumber;

در کد بالا چون مقدار یک متغییر اعشاری را در یک متغییر از نوع صحیح قرار دهیم کامپایلر این کد را به صورت اتوماتیک انجام نمی دهد و خطا می دهد

int intNumber = 2;

double dblNumber = 3.4;

dblNumber = intNumber;

در این کد چون یک متغییر صحیح را در یک متغییر اعشاری قرای می دهیم کامپایلر این کد را به صورت اتوماتیک انجام می دهد

برای اینکه بتوانیم مقدار یک متغییر اعشاری را در یک متغییر صحیح نگهداری کنیم باید به صورت صریح آن را تبدیل کنیم این کار را با پرانتز انجام می دهیم برای تبدیل یک متغییر به نوع داده ای خاص و ذخیره آن باید قبل از نام متغییر یک پرانتز قرار دهیم و سپس داخل پرانتز نوع داده ای مقصد را وارد کنیم به مثال زیر توجه کنید .

int intNumber = 2;

double dblNumber = 3.4;

intNumber = (int)dblNumber;

این کد متغییر که از نوع double است را با استفاده از عملگر پرانتز به نوع داده ای int تبدیل کرده و در متغییری از این نوع ذخیره کرده است .

روش تبدیل بالا برای متغییر هایی از نوع رشته ای به عدد و بر عکس نمی توان استفاده کرد

در زبان C و C++ که رشته ها را با Char [] تعریف می کنیم ( که در مبحثی جدا توضیح داده خواهد شد ) باید این کار را با برنامه نویسی انجام دهیم اول این که باید تمام کاراکتر های رشته از نوع عدد باشند و با حلقه ها و شرط این کار انجام شود

مثال برای یک کاراکتر از رشته :(الگریتم برنامه )

اگر کاراکتر = 0 در این صورت 0 بده به num

اگر کاراکتر = 1 در این صورت 1 بده به num

اگر کاراکتر = 2 در این صورت 2 بده به num

...

اگر کاراکتر = 9 در این صورت 9 بده به num

این برنامه را نیز می توان با کد اسکی ها نیز انجام داد

در زبان C# نوع داده ای رشته را باstring نیز تعریف می کنیم برای این که رشته را به عدد و برعکس انجام دهیم از کد های زیر استفاده می کنیم

اگر بخواهیم رشته را به عدد تبدیل کنیم باید از تابع Parse در نوع داده ای استفاده کنیم برای مثال اگر str که از نوع رشته و حاوی یک عدد اعشاری است و می خواهیم آن را در متغییر از نوع Double ذخیره کنیم برای این کار باید از تابع double.Parse() به صورت زیر استفاده کنیم

Double dblNum1;

dblNum1 = double.Parse(str1);

و همین طور اگر بخواهیم عدد را به رشته تبدیل کنیم از تابع ToString() استفاده می کینم برای مثال متغییر dblNum1 را در یک تغییر رشته ای ذخیره کنیم باید از تابع dblNumber.ToString() استفاده کنیم

String str;

Str = dblNum1.Tostring();

 

ارسال نظر برای این مطلب
این نظر توسط ققنوس در تاریخ 1393/04/30 و 17:35 دقیقه ارسال شده است

سلام
سپاسگزارم بخاطر اطلاعات خوبی که دادین

این نظر توسط unit در تاریخ 1348/10/11 و 16:20 دقیقه ارسال شده است

سلام
وبلاگت عالیه
وقت کردی به وبلاگ من هم یه سری بزن
اگه خواستی میتوتی تو گروهمون هم عضو بشی.
منتظرتم


کد امنیتی رفرش
اطلاعات کاربری
  • فراموشی رمز عبور؟
  • نویسندگان
    آمار سایت
  • کل مطالب : 33
  • کل نظرات : 18
  • افراد آنلاین : 4
  • تعداد اعضا : 446
  • آی پی امروز : 2
  • آی پی دیروز : 4
  • بازدید امروز : 4
  • باردید دیروز : 5
  • گوگل امروز : 0
  • گوگل دیروز : 0
  • بازدید هفته : 92
  • بازدید ماه : 466
  • بازدید سال : 3,775
  • بازدید کلی : 141,693