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

نام تاپیک: جداكردن اعداداعشاري ازاعدادصحيح

  1. #1

    جداكردن اعداداعشاري ازاعدادصحيح

    سلام
    يك عدداعشاري دارم(طول آن مشحص نيست)
    حال مي خواهم قسمت اعشاروصحيح راازهم جداكنم اما براي قسمت اعشاربه مشكل برخورده ام
    ونمي دانم چكاري بايدكنم قسمت صحيح راتوانسته ام .ازچه كدي بايداستفاده كنم
    باتشكر

  2. #2
    کاربر دائمی آواتار amin1softco
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    پای آن سرو بلند
    پست
    1,832

    نقل قول: جداكردن اعداداعشاري ازاعدادصحيح

    ببین باید قبل از سوال کردن یک جستجو می کردی
    ولی در کل باید هر مر حله عدد رو بگیری در 10 ضرب کنی باقی مانده رو چاپ کنی
    شبیه به این کد:

    float f=100.12045;
    cout<<int(f);

    for(int i=0;i<5;i++){
    f-=int(f);
    f*=10;
    cout<<int(f)%10;

    }
    یک راه ساده تر با ویژوال ایه که تبدیلش کنی به رشته

    ostringstream f;
    f << 2.5;
    cout << f.str();


    در سی می شه اینجوری عمل کرد

    char* str = new char[20];
    float flt = 2.4567F;
    sprintf(str, "%.4g", flt );
    cout<<str<<endl;

  3. #3

    نقل قول: جداكردن اعداداعشاري ازاعدادصحيح

    اصولا و قانونا باید تاپیک تون حذف میشد ، بدلیل بسیار تکراری بودن موضوع تاپیک .

    ولی خوب حذف نکردیم ...

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

    از ایجاد تاپیک از ابزار جستجو استفاده کنید .

    (اين تاييپك راخودم حذف خواهم كرد)
    دوست عزیز ، وقتی کاربرانی به سوال شما پاسخ میدهند ، تاپیک شما دیگر نباید حذف شود ، چون

    هدف این نیست که ما فقط به پاسخ سوالهای خودمون برسیم و بعد از اون تاپیک رو حذف کنیم ، چون اون

    وقت این میشه استفاده شخصی ، در صورتی که این سایت و این تالار از آن همه کاربران سایت برنامه نویس

    است و همین سوال شما ممکن بعدا سوال کاربری دیگر باشد .






  4. #4

    نقل قول: جداكردن اعداداعشاري ازاعدادصحيح

    سلام
    دوتامشكل برايم پيش آمده
    1)عدداعشاري كه واردمي كنيم نمي دانيم چندرقمي است (2،5و7رقم)كه بتوانيم درحلقه تعدادگردش رامحدودبه تعداداعشاركنيم(مثلااگرعدد3 2.658واردشدمتغييربفهمد تا3بارعمل موردنظرراانجام دهد)
    2)اگرfرابرابر70.0002قراردهيم وiراهم4قراردهيم جواب مي شود0001.اين هم يك مشكل
    لطف حل حل اين مشكلات بنده راكمك كنيد

  5. #5
    کاربر دائمی آواتار amin1softco
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    پای آن سرو بلند
    پست
    1,832

    نقل قول: جداكردن اعداداعشاري ازاعدادصحيح

    این دقتی که شما مد نظرته باید متغیر رو از نوع double تعریف کنی نه float برای به دست آوردن طولش هم فکر کنم باید بیت ها رو ترجمه کنی یعنی استاندارد اعشاری که فکر کنم مانتیس و این ها بود بعد ببنی طولش چقدره ... کلا کار سختیه فکر کنم راه ساده تری باشه؟!؟!؟ یعنی اول تبدیلش کن به رشته و طول رشته رو بده به حلقه for یک همچین چیزی:


    double f=70.0002;
    cout<<int(f)<<".";
    stringstream ff;
    f-=int(f);
    ff << f;
    string fs=ff.str();

    for(int i=0;i<fs.length()-2;i++){
    f-=int(f);
    f*=10;
    cout<<int(f)%10;
    }
    آخرین ویرایش به وسیله amin1softco : دوشنبه 30 فروردین 1389 در 17:02 عصر

  6. #6
    کاربر جدید آواتار hadi prog
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    تهران
    پست
    1

    نقل قول: جداكردن اعداداعشاري ازاعدادصحيح

    سلام
    شما باید بصورت زیر عمل کنید فرض کنید عدد شما a هست
    ;(x=int(a
    xمقدار صحیح هست
    ;y=a-x
    y حالا مقدار اعشاری عدد شما
    موفق باشید

  7. #7

    نقل قول: جداكردن اعداداعشاري ازاعدادصحيح

    نقل قول نوشته شده توسط amin1softco مشاهده تاپیک
    این دقتی که شما مد نظرته باید متغیر رو از نوع double تعریف کنی نه float برای به دست آوردن طولش هم فکر کنم باید بیت ها رو ترجمه کنی یعنی استاندارد اعشاری که فکر کنم مانتیس و این ها بود بعد ببنی طولش چقدره ... کلا کار سختیه فکر کنم راه ساده تری باشه؟!؟!؟ یعنی اول تبدیلش کن به رشته و طول رشته رو بده به حلقه for یک همچین چیزی:


    double f=70.0002;
    cout<<int(f)<<".";
    stringstream ff;
    f-=int(f);
    ff << f;
    string fs=ff.str();

    for(int i=0;i<fs.length()-2;i++){
    f-=int(f);
    f*=10;
    cout<<int(f)%10;
    }
    سلام
    در stringstream ff;, ff << f;
    پيغام خطازيررخ مي دهد
    undefinedsymbol'stringstream'
    براي رفع مشكل چكاربايدكنم

  8. #8

    نقل قول: جداكردن اعداداعشاري ازاعدادصحيح

    نقل قول نوشته شده توسط hadi prog مشاهده تاپیک
    سلام
    شما باید بصورت زیر عمل کنید فرض کنید عدد شما a هست
    ;(x=int(a
    xمقدار صحیح هست
    ;y=a-x
    y حالا مقدار اعشاری عدد شما
    موفق باشید
    سلام
    مشكل من اينجاست كه اعدادبعدازاعشاررابدست بياورم
    مثلا2.25
    a=2
    b=25

  9. #9

    نقل قول: جداكردن اعداداعشاري ازاعدادصحيح

    کاربر Iran58 ، همیشه جستجو کنید ، تا هم وقتتان هدر نشود و هم زود به جواب برسید .

    https://barnamenevis.org/showthread.php?t=212761






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

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