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

نام تاپیک: ساخت معدل گیر در کنسول سی شارپ

  1. #1

    ساخت معدل گیر در کنسول سی شارپ

    اکر بخواهیم یک برنامه نوشته که در آن متغیری تعریف کنیم که عددی از 0 تا 20 گرفته یعنی هم عدد صحیح و هم عدد اعشار مثلا 20 و 19/5 باید از چه کدی استفاده کنیم؟
    کد زیر فقط عدد صحیح را می گیرد چگونه باید آن را به متغیری تبدیل کنیم که هم عدد صحیح و هم اعشار بگیرد.
    int n =Convert.ToInt32(Console.ReadLine());
    if ((int.TryParse(Console.ReadLine(), out n) == false) || (n < 0) || (n > 20))
    {
    Console.WriteLine("Error: Invalid input!");
    }

  2. #2

    نقل قول: ساخت معدل گیر در کنسول سی شارپ

    نقل قول نوشته شده توسط mahdavi1385 مشاهده تاپیک
    اکر بخواهیم یک برنامه نوشته که در آن متغیری تعریف کنیم که عددی از 0 تا 20 گرفته یعنی هم عدد صحیح و هم عدد اعشار مثلا 20 و 19/5 باید از چه کدی استفاده کنیم؟
    کد زیر فقط عدد صحیح را می گیرد چگونه باید آن را به متغیری تبدیل کنیم که هم عدد صحیح و هم اعشار بگیرد.
    int n =Convert.ToInt32(Console.ReadLine());
    if ((int.TryParse(Console.ReadLine(), out n) == false) || (n < 0) || (n > 20))
    {
    Console.WriteLine("Error: Invalid input!");
    }
    همیشه می توانید اعداد اعشاری و صحیح رو بین انواع داده مختلفی مثل float و int تفکیک کنید ولی وقتی مثل مثال شما لزومی به تفکیک نباشه استفاده از یک نوع داده مثل float یا double یا decimal برای هر دوشون کفایت می کنه. اعداد اعشاری مثل 19.5 و 3.14

    float n;
    if ((float.TryParse(Console.ReadLine()
    , System.Globalization.NumberStyles.Number
    , System.Globalization.CultureInfo.InvariantCulture, out n) == false)
    || (n < 0) || (n > 20))
    {
    Console.WriteLine("Error: Invalid input!");
    }


    ولی اگر می خواهید ممیز رو با / مشخص کنید، این رو باید به #C اطلاع بدید چون همچین تفسیری از / در فرمت های مرسوم زبان ها نیست :

    float n;
    var cultureInfo = (System.Globalization.CultureInfo) System.Globalization. CultureInfo.InvariantCulture.Clone();
    cultureInfo.NumberFormat.NumberDecimalSeparator = "/";
    if ((float.TryParse(Console.ReadLine()
    , System.Globalization.NumberStyles.Number
    , cultureInfo, out n) == false)
    || (n < 0) || (n > 20))
    {
    Console.WriteLine("Error: Invalid input!");
    }

  3. #3

    نقل قول: ساخت معدل گیر در کنسول سی شارپ

    نقل قول نوشته شده توسط the king مشاهده تاپیک
    همیشه می توانید اعداد اعشاری و صحیح رو بین انواع داده مختلفی مثل float و int تفکیک کنید ولی وقتی مثل مثال شما لزومی به تفکیک نباشه استفاده از یک نوع داده مثل float یا double یا decimal برای هر دوشون کفایت می کنه. اعداد اعشاری مثل 19.5 و 3.14

    float n;
    if ((float.TryParse(Console.ReadLine()
    , System.Globalization.NumberStyles.Number
    , System.Globalization.CultureInfo.InvariantCulture, out n) == false)
    || (n < 0) || (n > 20))
    {
    Console.WriteLine("Error: Invalid input!");
    }


    ولی اگر می خواهید ممیز رو با / مشخص کنید، این رو باید به #C اطلاع بدید چون همچین تفسیری از / در فرمت های مرسوم زبان ها نیست :

    float n;
    var cultureInfo = (System.Globalization.CultureInfo) System.Globalization. CultureInfo.InvariantCulture.Clone();
    cultureInfo.NumberFormat.NumberDecimalSeparator = "/";
    if ((float.TryParse(Console.ReadLine()
    , System.Globalization.NumberStyles.Number
    , cultureInfo, out n) == false)
    || (n < 0) || (n > 20))
    {
    Console.WriteLine("Error: Invalid input!");
    }
    درست شد بسیار متشکرم

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

  1. پاسخ: 1
    آخرین پست: سه شنبه 04 آبان 1395, 11:38 صبح
  2. سایت فارسی سونی‌ اریکسون
    نوشته شده توسط arezoo_66 در بخش گفتگوی عمومی کامپیوتر و فناوری اطلاعات
    پاسخ: 0
    آخرین پست: یک شنبه 23 مرداد 1390, 11:37 صبح

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

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