Programimng

مطالبی از آموخته های من

Programimng

مطالبی از آموخته های من

جدا کردن اعداد به صورت سه رقم سه رقم در سی شارپ

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

میخواهیم وقتی کاربر عدد را textBox وارد کرد و از آن خارج شد عدد به صورت سه رقم سه رقم جدا شده باشد . بدین منظور باید در رویداد Leave آن textBox کد زیر  را بنویسم :


textBox1.Text = Convert.ToInt32(textBox1.Text).ToString("n0");


چون ماهیت textBox از نوع رشته ای می باشد در انتهای عبارت ToString را قرار دادیم و از آرگومان ورودی n0 استفاده کرده ایم که این فرمت عدد را به صورت سه رقم سه رقم جدا میکند , اما مشکلی که وجود دارد این است اگر بعد از اینکه عدد را در textBox وارد کردیم بخواهیم یک رقم از عدد وارد شده را حذف کنیم بعد از این که رقم مورد نظر حذف شد و از textBox خارج شدیم  با خطای format exception مواجه میشویم .چون عبارت درون textBox به یک رشته تبدیل شده و به عنوان عدد شناخته نمیشود برای رفع این مشکل کد را به صورت زیر تغییر میدهیم :


 textBox1.Text = Convert.ToInt32(textBox1.Text.Replace(",","")).ToString("n0");


دستور Replace کامای تفکیک کننده ارقام را برداشته و مجدد عدد را به صورت سه رقم سه رقم تفکیک میکند .




نظرات  (۲)

  • میثم هوشمند
  • یک کار دیگه هم میشه انجام ؛ اون هم اینکه یک کنترل سفارشی نوشت؛ و در 
    gettet پراپرتی text اون کار حذف کاما ها را انجام داد

    پاسخ:
    ممنون .
  • زینب جهان بخش
  • سلام
    خسته نباشید خوب بود؛
    یاد زمانی افتادم که سی شارپ کار میکردم کلا با این تابع Convert.ToInt32() از همون اول خوشم میومد ازش حس میکردم کار ادمو راه میندازه :-)

    الان یعنی خروجی ما میشه یک عدد که سه رقم سه رقم جدا شده؟
    مثل: 123 456 789



    پاسخ:
    ُسلام
    ممنون
    سه رقم سه رقم اعداد رو با ویرگول از هم جدا میکنه
    مثل : 123,012
    ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
    شما میتوانید از این تگهای html استفاده کنید:
    <b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
    تجدید کد امنیتی