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

نام تاپیک: مشکل در نگه داشتن دقت متغیر در ++c

  1. #1

    مشکل در نگه داشتن دقت متغیر در ++c

    با سلام
    من در حال انجام یک پروژه با C++‎ و کامپایلر g++ هستم در این کار من نیاز دارم تا اعداد را با دقت بالا ذخیره کنم مثلا عددی مثل 3.000000485 ولی وقتی این عدد را در کد زیر بررسی کردم
    #include <iostream> 
    using namespace std;
    int main()
    {
    double a=3.000000485;
    cout<<a<<endl;
    double b;
    b=a*100000000;
    cout<< b<<endl;
    return 0;
    }
    خروجی عدد 3 و 3e+08 بود. یعنی این که بخش اعشاری دور ریخته شده.
    قسمت b را برای این کردم که یک وقت اشکال از تنظیمات cout نباشد.
    اگر می شود راهنمایی کنید ممنون.

  2. #2

    نقل قول: مشکل در نگه داشتن دقت متغیر در ++c

    مقدار مورد نظر در a ذخیره می شود اما توسط cout نمایش داده نمی شود.

    برای این کار ابتدا باید تعداد دقت مورد نظر قسمت اعشاری را برای cout تعیین کنید به شکل زیر :

    double a = 3.000000485;

    cout.precision( 10 );

    cout<< a <<endl;
    به شکل زیر هم با توابع C می توانید عمل کنید:

    printf( "number: %.9f \n", a );

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

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