نمایش نتایج 1 تا 21 از 21

نام تاپیک: تابع تبدیل عدد به حروف در سی شارپ

  1. #1
    کاربر دائمی آواتار malloc
    تاریخ عضویت
    مهر 1389
    محل زندگی
    تهران (ام الوک)
    پست
    1,284

    تابع تبدیل عدد به حروف در سی شارپ

    سلام دوستان.
    من یه نمونه کد میخوام که بتونم اعداد رو به حروف انگلیسی بنویسم.
    یعنی من یه عددی دارم که میخوام اینو جدا جدا کنه و واسم به حروف انگلیسی بنویسه این چند تومنه.

  2. #2

    نقل قول: تابع تبدیل عدد به حروف در سی شارپ

    با سلام خدمت شما

    این کدهای تبدیل عدد به حروف فارسیه فقط لازمه جای حروف فارسی معادل انگلیسیشو بنویسین مثلا جای "و" میشه And


    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace NFMS
    {
    class PNumberTString
    {
    private static string[] yakan = new string[10] { "صفر", "یک", "دو", "سه", "چهار", "پنج", "شش", "هفت", "هشت", "نه" };
    private static string[] dahgan = new string[10] { "", "", "بیست", "سی", "چهل", "پنجاه", "شصت", "هفتاد", "هشتاد", "نود" };
    private static string[] dahyek = new string[10] { "ده", "یازده", "دوازده", "سیزده", "چهارده", "پانزده", "شانزده", "هفده", "هجده", "نوزده" };
    private static string[] sadgan = new string[10] { "", "یکصد", "دویست", "سیصد", "چهارصد", "پانصد", "ششصد", "هفتصد", "هشتصد", "نهصد" };
    private static string[] basex = new string[5] { "", "هزار", "میلیون", "میلیارد", "تریلیون" };
    private static string getnum3(int num3)
    {
    string s = "";
    int d3, d12;
    d12 = num3 % 100;
    d3 = num3 / 100;
    if (d3 != 0)
    s = sadgan[d3] + " و ";
    if ((d12 >= 10) && (d12 <= 19))
    {
    s = s + dahyek[d12 - 10];
    }
    else
    {
    int d2 = d12 / 10;
    if (d2 != 0)
    s = s + dahgan[d2] + " و ";
    int d1 = d12 % 10;
    if (d1 != 0)
    s = s + yakan[d1] + " و ";
    s = s.Substring(0, s.Length - 3);
    };
    return s;
    }
    public string num2str(string snum)
    {
    string stotal = "";
    if(snum =="") return "صفر";
    if (snum == "0")
    {
    return yakan[0];
    }
    else
    {
    snum = snum.PadLeft(((snum.Length - 1) / 3 + 1) * 3, '0');
    int L = snum.Length / 3 - 1;
    for (int i = 0; i <= L; i++)
    {
    int b = int.Parse(snum.Substring(i * 3, 3));
    if (b != 0)
    stotal = stotal + getnum3(b) + " " + basex[L - i] + " و ";
    }
    stotal = stotal.Substring(0, stotal.Length - 3);
    }
    return stotal;
    }
    }
    }




    موفق باشین
    بایت بایت

  3. #3
    کاربر دائمی آواتار reza69
    تاریخ عضویت
    آبان 1390
    محل زندگی
    همدان
    پست
    788

    نقل قول: تابع تبدیل عدد به حروف در سی شارپ

    چجوری باید ازش استفاده کنیم؟
    میخوام تو یه لیبل نوشته بشه

  4. #4

    نقل قول: تابع تبدیل عدد به حروف در سی شارپ

    ابزار txtProNet (تكست باكس حرفه اي) رو ميتونيد از اين لينك يا از امضاي من دانلود كنيد. علاوه بر امكاني كه شما لازم داريد امكانات سريع و راحت تري رو هم در اختيار شما قرار ميده كه ديگه نياز به كد نويسي اضافي نداريد

  5. #5
    کاربر دائمی آواتار reza69
    تاریخ عضویت
    آبان 1390
    محل زندگی
    همدان
    پست
    788

    نقل قول: تابع تبدیل عدد به حروف در سی شارپ

    فهمیدم چجوری میشه ازش استفاده کرد.

    NumberToString dd = new NumberToString();
    lbltakhfifbeh4.Text = dd.num2str(txttakhfif4.Text);

  6. #6
    کاربر دائمی آواتار علی فتحی
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    مهاباد
    سن
    42
    پست
    1,075

    نقل قول: تابع تبدیل عدد به حروف در سی شارپ

    سلام اعداد دارای ممیز رو قبول نمیکنه

  7. #7
    کاربر دائمی آواتار Amir4317
    تاریخ عضویت
    مهر 1390
    محل زندگی
    نصف جهان
    پست
    160

    نقل قول: تابع تبدیل عدد به حروف در سی شارپ

    نقل قول نوشته شده توسط علی فتحی مشاهده تاپیک
    سلام اعداد دارای ممیز رو قبول نمیکنه
    عجب!
    عدد قبل ممیز که خودشه + یه " ممیز " + عدد بعد ممیز + " دهم " | " صدم" | " هزارم " | " ... "
    که این آخریه باید طول ارایه رو داشته باشی

    کار سختی نیست به خدا!

  8. #8
    کاربر دائمی آواتار علی فتحی
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    مهاباد
    سن
    42
    پست
    1,075

    نقل قول: تابع تبدیل عدد به حروف در سی شارپ

    باور کن قبول نمیکنه اینم اخطار :
    int b = int.Parse(snum.Substring(i * 3,3));

    Input string was not in a correct format.

  9. #9

    نقل قول: تابع تبدیل عدد به حروف در سی شارپ

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

  10. #10
    کاربر دائمی آواتار علی فتحی
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    مهاباد
    سن
    42
    پست
    1,075

    نقل قول: تابع تبدیل عدد به حروف در سی شارپ

    با تشکر : هر کاری کردم متصفانه موفق نشدم میشه کد بالا رو تغییر بدین برای قبول کردن . تا 3 رقم بعد ممیز رو قبول میکنه بقیه ش عمل نمیکنه
    عکس های ضمیمه عکس های ضمیمه

  11. #11

    نقل قول: تابع تبدیل عدد به حروف در سی شارپ

    شما اگه یه کم کرد دست کاری کنین همونطور که دوستان گفتن جواب میده راحت

    NumberToString converter = new NumberToString();
    if(!textBox1.Text.Contains("."))
    textBox2.Text = converter.num2str(textBox1.Text);
    else
    {
    string[] str = textBox1.Text.Split('.');
    textBox2.Text = converter.num2str(str[0]);
    textBox2.Text += " ممیز ";
    textBox2.Text += converter.num2str(str[1]);
    switch (str[1].Length)
    {
    case 1:
    textBox2.Text += " دهم ";
    break;
    case 2:
    textBox2.Text += " صدم ";
    break;
    case 3:
    textBox2.Text += " هزارم ";
    break;
    default:
    break;
    }

    البته میتونین همینو اصولی تر هم بنویسین و البته این تا 3 رقم اعشار درست کار میکنه خودتون بعد از هزارم خواستین اضافه کنین

  12. #12
    کاربر دائمی آواتار علی فتحی
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    مهاباد
    سن
    42
    پست
    1,075

    نقل قول: تابع تبدیل عدد به حروف در سی شارپ

    نشد جواب شما اینطوریه!!!!!

    یکصد و بیست و سه ,چهارصد و پنجاه و شش هزار

  13. #13
    کاربر دائمی آواتار khokhan
    تاریخ عضویت
    دی 1388
    محل زندگی
    اسکو
    پست
    2,176

    نقل قول: تابع تبدیل عدد به حروف در سی شارپ

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

    یکصد و بیست و سه ,چهارصد و پنجاه و شش هزار
    باسلام
    قبل از اینکه کار تبدیل رو شروع کنین یه متد قرار بدین تا num یا decimal بودن مقدار ورودی رو چک کنه و عملی متناسب با هر کدوم رو به اجرا بگذاره یه چیزی مثل این :

    public string DecimalToWords(decimal d)
    {
    var formatted = d.ToString();

    if(formatted.Contains("."))
    {

    string[] sides = formatted.Split(".");


    return NumberToWords(Int32.Parse(sides[0])) + " and " + NumberToWords(Int32.Parse(sides[1]));
    }
    else
    {

    return NumberToWords(Convert.ToInt32(d));
    }
    }

  14. #14
    کاربر دائمی آواتار علی فتحی
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    مهاباد
    سن
    42
    پست
    1,075

    نقل قول: تابع تبدیل عدد به حروف در سی شارپ

    بازم موفق نشدم . کد شما کلا اخطار میده اقا خوخان

  15. #15
    کاربر دائمی آواتار khokhan
    تاریخ عضویت
    دی 1388
    محل زندگی
    اسکو
    پست
    2,176

    نقل قول: تابع تبدیل عدد به حروف در سی شارپ

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

  16. #16

    نقل قول: تابع تبدیل عدد به حروف در سی شارپ

    سلام کلاس زیر تقریبا کامله:
    فایل های ضمیمه فایل های ضمیمه

  17. #17

    نقل قول: تابع تبدیل عدد به حروف در سی شارپ

    با سلام لطفا الگوریتم تبدیل عدد به حروف را پاسخ دهید

  18. #18
    کاربر دائمی آواتار Louai_M
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    شادگان
    پست
    297

    نقل قول: تابع تبدیل عدد به حروف در سی شارپ

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

    lbltakhfifbeh4.Text = dd.num2str(Convert.ToDouble(txttakhfif4.Text).ToSt ring());

  19. #19

    نقل قول: تابع تبدیل عدد به حروف در سی شارپ

    خیلی خوب بود . ممنونم ازتون

  20. #20
    کاربر جدید
    تاریخ عضویت
    آبان 1400
    محل زندگی
    کرمانشاه
    سن
    40
    پست
    5

    نقل قول: تابع تبدیل عدد به حروف در سی شارپ

    با سلام دوستان کسی .dll عدد به حروف داره...
    یا اینکه بتونه کمک کنه که چطور میتون کدهای تبدیل عدد به حروف به صورت یک کلاس داشت باشم که در تمام پروژه بشه ازش استفاده کرد

  21. #21
    کاربر دائمی آواتار رامین مرادی
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    آذربایجان
    پست
    1,961

    نقل قول: تابع تبدیل عدد به حروف در سی شارپ

    نقل قول نوشته شده توسط piman_biabani مشاهده تاپیک
    با سلام دوستان کسی .dll عدد به حروف داره...
    یا اینکه بتونه کمک کنه که چطور میتون کدهای تبدیل عدد به حروف به صورت یک کلاس داشت باشم که در تمام پروژه بشه ازش استفاده کرد

    اینم یه کلاس


    class AddToHarf
    {
    private static string[] yakan = new string[10] { "صفر", "یک", "دو", "سه", "چهار", "پنج", "شش", "هفت", "هشت", "نه" };
    private static string[] dahgan = new string[10] { "", "", "بیست", "سی", "چهل", "پنجاه", "شصت", "هفتاد", "هشتاد", "نود" };
    private static string[] dahyek = new string[10] { "ده", "یازده", "دوازده", "سیزده", "چهارده", "پانزده", "شانزده", "هفده", "هجده", "نوزده" };
    private static string[] sadgan = new string[10] { "", "یکصد", "دویست", "سیصد", "چهارصد", "پانصد", "ششصد", "هفتصد", "هشتصد", "نهصد" };
    private static string[] basex = new string[5] { "", "هزار", "میلیون", "میلیارد", "تریلیون" };
    private static string getnum3(int num3)
    {
    string s = "";
    int d3, d12;
    d12 = num3 % 100;
    d3 = num3 / 100;
    if (d3 != 0)
    s = sadgan[d3] + " و ";
    if ((d12 >= 10) && (d12 <= 19))
    {
    s = s + dahyek[d12 - 10];
    }
    else
    {
    int d2 = d12 / 10;
    if (d2 != 0)
    s = s + dahgan[d2] + " و ";
    int d1 = d12 % 10;
    if (d1 != 0)
    s = s + yakan[d1] + " و ";
    s = s.Substring(0, s.Length - 3);
    };
    return s;
    }
    static string int2str(string snum)
    {
    string stotal = "";
    if (snum == "") return "";
    if (snum == "0")
    {
    return yakan[0];
    }
    else
    {
    /// <summary>
    /// Rcode.ir
    /// Ramin.mor47@gmail.com
    /// </summary>
    snum = snum.PadLeft(((snum.Length - 1) / 3 + 1) * 3, '0');
    int L = snum.Length / 3 - 1;

    for (int i = 0; i <= L; i++)
    {
    int b = int.Parse(snum.Substring(i * 3, 3));
    if (b != 0)
    stotal = stotal + getnum3(b) + " " + basex[L - i] + " و ";
    }
    stotal = stotal.Substring(0, stotal.Length - 3);
    }
    return stotal;
    }

    public static string GetStr(string number)
    {
    if (!number.Contains("."))
    return int2str(number);
    else
    {
    /// <summary>
    /// Rcode.ir
    /// Ramin.mor47@gmail.com
    /// </summary>
    string[] str = number.Split('.');
    string result = int2str(str[0]);
    string right = str[1].TrimEnd(new char[] { '0' });
    if (right.Length > 0)
    {
    result += "ممیز ";
    }
    result += int2str(right);
    switch (right.Length)
    {
    case 1:
    result += " دهم ";
    break;
    case 2:
    result += " صدم ";
    break;
    case 3:
    result += " هزارم ";
    break;
    case 4:
    result += " ده هزارم ";
    break;
    case 5:
    result += " صد هزارم ";
    break;
    default:
    break;
    }
    return result;
    }
    }
    }



    خب برای استفاده از اون هم به این صورت میتونید استفاده کنی:
    textBox2.Text= AddToHarf.GetStr(textBox1.Text);در صورت داشتن هرگونه سوالی مطرح بفرمایید.

تاپیک های مشابه

  1. تابع تبدیل عدد به حروف
    نوشته شده توسط mehrnoosh در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 11
    آخرین پست: جمعه 04 دی 1388, 21:00 عصر
  2. کسی تابع تبدیل عدد به حروف تو سی شارپ رو داره ؟؟!!
    نوشته شده توسط shahab_ss در بخش C#‎‎
    پاسخ: 7
    آخرین پست: شنبه 16 آذر 1387, 18:39 عصر
  3. تابع تبدیل عدد به حروف!
    نوشته شده توسط ali_kolahdoozan در بخش SQL Server
    پاسخ: 4
    آخرین پست: یک شنبه 15 مهر 1386, 11:07 صبح
  4. تابع تبدیل عدد به حروف
    نوشته شده توسط mehdi_doraghi در بخش Foxpro
    پاسخ: 2
    آخرین پست: پنج شنبه 20 اردیبهشت 1386, 17:29 عصر
  5. تابع تبدیل عدد به حروف
    نوشته شده توسط احسان آریانو در بخش برنامه نویسی در Delphi
    پاسخ: 3
    آخرین پست: شنبه 17 بهمن 1383, 02:01 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •