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

نام تاپیک: مشکل در تبدیل string به float برای اعداد ممیز دار

  1. #1
    کاربر دائمی آواتار captain_black81
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    تهران
    پست
    231

    مشکل در تبدیل string به float برای اعداد ممیز دار

    سلام

    من یه تکسباکس دارم که از کابر یه عدد اعشاری میگیره و ذخیره میکنه
    اما روی بعضی کامپیوترا اگه بزنه 2.24 بعد از تبدیل 224 بر میگرده یعنی ممیزو نمیبینه

    ممنون میشم راهنمایی کنید

  2. #2
    کاربر دائمی آواتار shask00l
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    روی پاهای خودم
    سن
    38
    پست
    387

    نقل قول: مشکل در تبدیل string به float برای اعداد ممیز دار --- فوری

    میتونید با توابع کلاس string دو بخش مربوطه رو از هم جدا کنید . یک متغییر از نوع float بسازید و دو بخش بدست اومده رو با این متغییر جمع کنید .
    البته این روش زیاد جالب نیست و 1 مقداری حوصله میخواد .

    خود کلاس float نمیتونه string رو پارس کنه ؟

  3. #3
    کاربر دائمی آواتار captain_black81
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    تهران
    پست
    231

    نقل قول: مشکل در تبدیل string به float برای اعداد ممیز دار --- فوری

    دوستی میگفت مربوط به تنظیمات زبان ویندوزه که تو بعضی سیستما کار میکنه. میخوام کاری کنم که به این زبان بستگی نداشته باشد

  4. #4

  5. #5
    کاربر دائمی آواتار ennovation
    تاریخ عضویت
    شهریور 1387
    محل زندگی
    جای خوبیه . هواش عالیه
    پست
    110

    نقل قول: مشکل در تبدیل string به float برای اعداد ممیز دار --- فوری

    سلام

    جواب اول >

     myetxtbox.text=myfloat.ToString("##0.00");


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

    موفق باشی

  6. #6
    کاربر دائمی آواتار captain_black81
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    تهران
    پست
    231

    نقل قول: مشکل در تبدیل string به float برای اعداد ممیز دار

    ببینید دوستان ، من یه نمونه میذارم

    int num1=10;
    float a=Convert.ToSingle("9.5");
    if (a>num1)
    {
    // some codes
    }

    قائدتا این شرط نباید true بشه اما میشه، چون تو بعضی از سیستمها که language انگلیسی نیست بجای 9.5 عدد 95 رو مقایسه میکنه. و منو کلافه کرده. من نمیخوام نرم افزارم با این چیزای آبکی اشتباه کنه

    سوال بعد اینه که convert.tosingle با float.parse فرق داره؟ ممکنه مشکل منو حل کنه؟

  7. #7

  8. #8
    کاربر دائمی آواتار ennovation
    تاریخ عضویت
    شهریور 1387
    محل زندگی
    جای خوبیه . هواش عالیه
    پست
    110

    نقل قول: مشکل در تبدیل string به float برای اعداد ممیز دار

    والا من که تو این 10 سال که با کامپیوتر کار میکنم همچین چیزی ندیدم!!!
    دوست عزیز 10 سال مدت زیادی نیست که تمامی گوشه های برنامه نویسی را کمال و تمام یاد گرفت . توصیه میکنم در مورد CurrentCulture کمی مطالعه نمایید.

    بهر حال در جواب دوست عزیزمان . برای از بین بردن چنین مشکلی در فایل
    Program.cs این دو خط را اضافه کن


    Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en-GB");
    Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-GB");


    تمام . میتونی برنامه رو تست کنی و ببینی که درست کار میکنه . باز هم بخاطر اینکه بدونی منظورم دقیقا چیه تمامی کد فایل Program.cs ( این فایل به همین نام در پروژه خودت پیدا میکنی ) رو برات گذاشتم .

    using
    System;
    using System.Collections.Generic;
    using System.Windows.Forms;
    using System.Threading;
    namespace test
    {
    staticclassProgram
    {

    [STAThread]
    staticvoid Main()
    {
    Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en-GB");
    Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-GB");

    Application.EnableVisualStyles();
    Application.SetCompatibleTextRenderingDefault(false);
    Application.Run(newForm1());
    }
    }
    }

  9. #9
    VIP آواتار Amir Oveisi
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    هر جا که حال کنم - فعلا یزد
    پست
    2,604

    نقل قول: مشکل در تبدیل string به float برای اعداد ممیز دار

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

    خوشحال میشم اگر دوستانی که همچین مشکلی داشتند بگن چه تنظیماتی رو رو سیستم اعمال کردن که این مشکل بوجود اومده تا بنده هم تست کنم. واضح تر بگم، چیکار باید با ویندوز کرد که ممیز رو نشون نده تو اعداد اعشاری.

    موفق باشید
    jooje

  10. #10
    کاربر دائمی آواتار captain_black81
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    تهران
    پست
    231

    نقل قول: مشکل در تبدیل string به float برای اعداد ممیز دار

    با تشکر از همه دوستان
    بعد از یه تست اساسی نتیجه راهنمایی دوستمون ennovation رو هم میذارم


    1)کلا بعضی از ویندوزهایی که توی بازار هست تو قسمت language option مشکلات داره. واسه همین باید سعی کرد تو پروزه های چند کاربره ترجیحا همه کلاینتها از یک cd ویندوز نصب بشن.
    2) یه قسمتی هست توی language setup ویندوز که یه آیتم داره بنام decimal symbol که توی بعضی زبانها (.) و بعضی (،) است. این باعث میشه که برنامه موقع parse قات بزنه

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

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