PDA

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



Borna66
08-10-2010, 01:00 AM
در این مقاله به نوشتن کلاسی می پردازیم که عددی را به عنوان ورودی گرفته و آن را به حروف تبدیل می کند.


شاید یکی از ابزار های برنامه نویسان کلاسی باشد که عدد صحیحی را به رقم دریافت کند و آن را بصورت حروف نمایش دهد. مثلا" ( 153 را به عنوان ورودی دریافت و مقدار رشته ای یکصد و پنجاه و سه را بر گرداند). استفاده از این ابزار در فروشگاه های اینترنتی ، برنامه های حسابداری ، صدور فاکتور و پیش فاکتور در برنامه های مدیریت مشتریان می تواند ارزش کار را چندان برابر کند.
برای این منظور کلاس زیر پیشنهاد می شود. لطفا" به توضیحات توجه کنید :
توجه :
نظر به حجم کد برنامه ، فایل کامل را می توانید در انتهای مقاله دانلود کنید و از قرار دادن کد در متن مقاله خودداری کردم.
برای سهولت کار اعداد فارسی را در یک دسته بندی کلی به پنج دسته تقسیم می کنیم.
دسته اول اعداد یک رقمی از صفر تا 9 هستند. برای این اعداد یک آرایه رشته ای با نام yekan در نظر می گیریم.
دسته دوم اعداد دهگان از 20 تا 90 می باشند. این دسته را نیز در آرایه ای رشته ای با نام dahgan قرار می دهیم.
اما اعدادی که رقم دهگان آنها یک است! یازده ، دوازده الی نوزده. برای این دسته از اعداد نیز آرایه ای با نام dahyek در نظر می گیریم.
دسته چهارم اعداد صدگان از یکصد تا نهصد است. آرایه sadgan برای این منظور در نظر گرفته شده است.
و بالاخره دسته پنجم شامل هزار ، میلیون ، میلیارد و تریلیون که نام آرایه آن را basex گذاشتیم.

با توجه به دسته بندی فوق تقریبا" همه کار انجام شده است و کافیست به یاد دوره دبستان که یاد گرفتیم اعداد را سه رقم، سه رقم جدا و سپس نام گذاری کنیم عمل کنیم. استثناء موجود که باید به آن دقت داشت عدد صفر به عنوان ورودی است که در این حال با برگرداندن اولین عنصر آرایه دسته اول یعنی [0]yekan به کار خاتمه می دهیم.

دقت داشته باشید که تابع اصلی یعنی num2str از یک تابع کمکی با نام getnum3 استفاده می کند. کار اصلی تابع getnum3 همان جدا سازی و نام گذاری سه رقم ، سه رقم عدد ورودی است که در نهایت بعد از هر بار جدا سازی و نام گذاری تابع num2str خروجی را با قرار دادن جدا کننده (-و-) و الحاق مقادیر، مهیا می کند. همچنین خانه های خالی آرایه ها برای آسانی برنامه نویسی و پرهیز از استفاده مکرر دستورات شرطی جهت بررسی یک یا دو یا سه رقمی بودن حاصل getnum3 و قرار دادن مقدار حروفی متناسب با آن، بوده است. گاهی به هدر دادن چند خانه از حافظه کارایی برنامه را بیشتر می کند.

دانلود فایل ضمیمه | دریافت کد (http://www.aspcode.ir/Download/num2char.zip)

myjoker
07-13-2012, 01:06 PM
اقا مرسی خیلی کمک کرد:74::79: