PDA

View Full Version : محدود کردن تعداد اعشار در cout



elyas74
سه شنبه 05 آذر 1392, 19:11 عصر
سلام،
در چاپ یک متغیر float یا double با استفاده از cout چطور میشه تعداد اعشار چاپ شده رو بدون رُند کردن محدود کرد؟

مصطفی ساتکی
سه شنبه 05 آذر 1392, 22:39 عصر
شما تنها راهی که دارید اینه که از setpercision استفاده کنید برای تعیین دقت اعشار .در ضمن اونم رند نمی کنه هر نوع داده ای اعشاری resolution مشخصی داره که اگر عددی با توجه به آن resolution قابل نمایش نباشه به نزدیک ترین عدد مربوطه quantize میشه همین.

elyas74
چهارشنبه 06 آذر 1392, 10:22 صبح
متشکرم درست شد ، ولی ی حالت دیگه ، این که بخوام در هر حالت تا تعداد مشخصی بعد از اعشار رو چاپ کنه یعنی برای مثال با 3 رقم اعشار عدد 4.123456 رو 4.123 چاپ کنه و عدد 4 رو هم 4.000 ، ولی با استفاده از setpercision اگه عددی اعشار نداشته باشه یا تعداد اعضارش کم باشه 0 اضافه چاپ نمیکنه ؟

مصطفی ساتکی
چهارشنبه 06 آذر 1392, 11:36 صبح
بدین صورت عمل کنید
double a = 4.0;
cout << std::fixed << std::setprecision(3) << a << endl;