PDA

View Full Version : چگونه می توان نوع داده ای با دقت 32 رقم اعشار ایجاد کرد؟



vahidreza_taravat
پنج شنبه 17 شهریور 1384, 14:54 عصر
همین طور که می دانید بیشترین دقتی که در vb.net در اختیار کاربر قرار می دهد داده از نوع double می باشد که دقت آن 14رقم اعشار است. چگونه می توان نوع داده ای با دقت 32 رقم اعشار (یا بیشتر) ایجاد کرد ؟

someCoder
جمعه 18 شهریور 1384, 15:52 عصر
خودت یه نوع جدید با رقمهای اعشاری ثابت تعریف کن! هم سرعتش بیشتره از floating point و هم محدودیت نخواهی داشت!

vahidreza_taravat
جمعه 18 شهریور 1384, 20:44 عصر
دوست عزیز جناب آقایsomecoder چگونه این کار را که میگوییدانجام دهم؟

someCoder
شنبه 19 شهریور 1384, 18:51 عصر
من VB کار نکردم تا حالا، بنابراین انتظار نداشته باشید که بهتون کد تحویل بدم! ولی راهش اینه که یه class تعریف کنید برای این نوع که میخواهید درست کنید. توی این کلاس دو قسمت داریم، یکی جزء صحیح و یکی اعشاری که هردوشون نوعشون عدد صحیح هست. برای تعریف این دو تا اگر مثلا با int64 مشکلتون حل شد که چه بهتر. اگرم نشد باید باز نوع صحیح خودتون رو تعریف کنید. که برای این کار میتونید از یه آرایه استفاده کنید که اعداد رو رقم به رقم توش گذاشته باشین. (این ساده ترینشه! میشه موثر تر هم استفاده کرد)
برای نوعهایی هم که تعریف کریدن همه عملیات ریاضی رو overload کنین.