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

نام تاپیک: تفاوت ممیز و نقطه ( / و . ) در محاسبات و تبدیلات در سی شارپ - تبدیل رشته به عدد ممیز در هر فرمتی

  1. #1

    Question تفاوت ممیز و نقطه ( / و . ) در محاسبات و تبدیلات در سی شارپ - تبدیل رشته به عدد ممیز در هر فرمتی

    با سلام
    دوستان من وقتی کد زیر را مینویسم و مقدار Num_1 را 12.5 بدهم و Num_2 را 1 بدهم ، هنگام اجرای برنامه ارور میدهد.
    کد:

    double num1 = Convert.ToDouble(Num_1.Text);
    double num2 = Convert.ToDouble(Num_2.Text);


    _Sum.Text = (num1 + num2).ToString();


    ارور


    {"Input string was not in a correct format."}



    اما اگر مقدار بجای نقطه از ممیز استفاده بشود ، بطور مثال بجای 12.5 از 12/5 استفاده بشود ، کار حله و اروری هم نداریم


    البته یه راه دیگه داریم که برویم داخل کنترل پنل / Region / از تب Formats / قسمت additional / تب Numbers و Desimal Symbol را برابر . (دات)(نقطه) قرار داد

    اما ما در سیستم مشتری چکار کنیم
    وقتی برنامه ای نوشتیم و خواستیم آنرا شیر کنیم چطور این مشکل را بر طرف کنیم؟

    ممنون میشم دوستان راهکاری ارائه بدهند

  2. #2
    کاربر دائمی آواتار samiasoft
    تاریخ عضویت
    مهر 1391
    محل زندگی
    اردبیل
    پست
    1,242

    نقل قول: تفاوت ممیز و نقطه ( / و . ) در محاسبات در سی شارپ

    درود

    خب یه راه حل ساده.

    هنگام اجرای عملیات یه دستور رپلیس قرار بدید که ممیز رو جایگزین کنه

  3. #3

    نقل قول: تفاوت ممیز و نقطه ( / و . ) در محاسبات و تبدیلات در سی شارپ - تبدیل رشته به عدد ممیز در هر

    چند راه هست.
    - یکی اینکه کاربر رو مجبور کنید از یک فرمت استفاده کند و در غیراینصورت پیغام مناسب نمایش بدید
    - راه دیگه این هست که چک کنید کدام جداکننده استفاده شده و در صورت لزوم replace کنید که در اینصورت باید یک فرمت رو معیار قرار بدید.
    - راه دیگه هم اینه که یک متد بنویسید و سعی کنید با دو فرهنگ (Culture) فارسی و انگلیسی، رشته رو تبدیل کنید. یا اینکه با یک حلقه همه فرهنگها رو تست کنید.در این مورد باید از overload زیر استفاده کنید.
    Double.TryParse( String, NumberStyles, IFormatProvider, Doubl e)

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

    نقل قول: تفاوت ممیز و نقطه ( / و . ) در محاسبات و تبدیلات در سی شارپ - تبدیل رشته به عدد ممیز در هر

    نقل قول نوشته شده توسط rezaAcc مشاهده تاپیک
    با سلام
    دوستان من وقتی کد زیر را مینویسم و مقدار Num_1 را 12.5 بدهم و Num_2 را 1 بدهم ، هنگام اجرای برنامه ارور میدهد.
    کد:

    double num1 = Convert.ToDouble(Num_1.Text);
    double num2 = Convert.ToDouble(Num_2.Text);


    _Sum.Text = (num1 + num2).ToString();


    ارور


    {"Input string was not in a correct format."}



    اما اگر مقدار بجای نقطه از ممیز استفاده بشود ، بطور مثال بجای 12.5 از 12/5 استفاده بشود ، کار حله و اروری هم نداریم


    البته یه راه دیگه داریم که برویم داخل کنترل پنل / Region / از تب Formats / قسمت additional / تب Numbers و Desimal Symbol را برابر . (دات)(نقطه) قرار داد

    اما ما در سیستم مشتری چکار کنیم
    وقتی برنامه ای نوشتیم و خواستیم آنرا شیر کنیم چطور این مشکل را بر طرف کنیم؟

    ممنون میشم دوستان راهکاری ارائه بدهند
    اگه فقط روی یه سیستم برنامت اجرا خواهد شد میتونی از بخش تنظیمات زبان علامت اعشار رو تغییر بدی.
    ولی اگه بخوای برنامت عمومی باشه میتونی از روشهایی که دوستان گفتن مثل جایگزینی / به جای . هنگام محاسبه. این کار رو هم داخل کدت انجام بده تا کاربرات هم متوجه این تغییر نشن

  5. #5

    نقل قول: تفاوت ممیز و نقطه ( / و . ) در محاسبات و تبدیلات در سی شارپ - تبدیل رشته به عدد ممیز در هر

    نقل قول نوشته شده توسط Mahmoud.Afrad مشاهده تاپیک
    - راه دیگه هم اینه که یک متد بنویسید و سعی کنید با دو فرهنگ (Culture) فارسی و انگلیسی، رشته رو تبدیل کنید. یا اینکه با یک حلقه همه فرهنگها رو تست کنید.در این مورد باید از overload زیر استفاده کنید.
    Double.TryParse( String, NumberStyles, IFormatProvider, Doubl e)
    با تشکر از دوستان ، میشه در باره این قسمت یه توضیح بدید.اگه امکانش هست یک نمونه کد بنویسید؟
    ممنونم

  6. #6
    کاربر دائمی آواتار shahryari
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    آذربايجان
    سن
    40
    پست
    1,236

    نقل قول: تفاوت ممیز و نقطه ( / و . ) در محاسبات و تبدیلات در سی شارپ - تبدیل رشته به عدد ممیز در هر

    شما بیا یه کاری کن...
    ابتدا دیجیت سپریتور سیستم رو بدست بیار (که ئر هر سیستم ، بستگی به تنظیمات داره ممکنه / باشه یا , یا ....)
    Char a = Convert.ToChar(CultureInfo. CurrentCulture.NumberFormat. NumberDecimalSeparator);


    کد بالا یه کارکتر بهت میده ، اون کارکتر رو در عدد داخل باکست هرچی هست رو با "" جایکزین کن
    و با کلاس کانورت یا دابل . ترای پارز ارزش عددیش رو بگیر و خلاص...

  7. #7

    نقل قول: تفاوت ممیز و نقطه ( / و . ) در محاسبات و تبدیلات در سی شارپ - تبدیل رشته به عدد ممیز در هر

    نقل قول نوشته شده توسط shahryari مشاهده تاپیک
    شما بیا یه کاری کن...
    ابتدا دیجیت سپریتور سیستم رو بدست بیار (که ئر هر سیستم ، بستگی به تنظیمات داره ممکنه / باشه یا , یا ....)
    Char a = Convert.ToChar(CultureInfo. CurrentCulture.NumberFormat. NumberDecimalSeparator);


    کد بالا یه کارکتر بهت میده ، اون کارکتر رو در عدد داخل باکست هرچی هست رو با "" جایکزین کن
    و با کلاس کانورت یا دابل . ترای پارز ارزش عددیش رو بگیر و خلاص...
    ایول داری داداش
    با این کد یه کار دیگه منم راه انداختی
    بااین میتونم فرمت shortDate ویندوزم بگیرم و ازش استفاده کنم

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

  1. سوال: تبدیل رشته به عدد در VB
    نوشته شده توسط zanjiran در بخش برنامه نویسی در 6 VB
    پاسخ: 3
    آخرین پست: دوشنبه 26 بهمن 1388, 15:43 عصر
  2. سوال: تبديل رشته به عدد در sql 2005
    نوشته شده توسط mohammad diba در بخش SQL Server
    پاسخ: 1
    آخرین پست: سه شنبه 13 مرداد 1388, 09:48 صبح
  3. تبدیل رشته به عدد در هنگام select
    نوشته شده توسط asdfghjkl در بخش SQL Server
    پاسخ: 7
    آخرین پست: یک شنبه 25 فروردین 1387, 12:12 عصر
  4. تبدیل رشته به عدد در جمع
    نوشته شده توسط mikhak در بخش گزارش سازی با Crystal Report
    پاسخ: 6
    آخرین پست: جمعه 23 دی 1384, 23:33 عصر
  5. در مورد تبدیل رشته به عدد
    نوشته شده توسط lord_viper در بخش برنامه نویسی در Delphi
    پاسخ: 2
    آخرین پست: سه شنبه 02 فروردین 1384, 14:51 عصر

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

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