PDA

View Full Version : رند



reza273
پنج شنبه 15 اسفند 1387, 11:19 صبح
آیا تابعی وجود دارد که عدی را از اعشار رند کند مثلا زیر 2.5 تا2 را 2 بگیرد وبالای 2.5 تا3 را 3 بگیرد.
اگه هست سرآیندش چیه.
خودم به این شکل نوشتم
int(i+.5) i اما میخواستم بدونم کلا چیزی وجود داره یا نه؟

kitten
پنج شنبه 15 اسفند 1387, 19:58 عصر
من تا حالا این جور تابعی را ندیدم البته نوشتن این تابع که کارسختی نیست خودت با دو تا if میتونی بنویسی....

SamaPic
پنج شنبه 15 اسفند 1387, 21:15 عصر
با سلام خدمت دوست عزيز.
همچين چيزي هست ولي يادم نمي ياد.اگر مي خواهيد با سي بنويسيد اين كار را مي توانيد با خود دستور printf انجام دهيد من خودم قبلا استفاده كردم و جواب مي دهد.ولي آلان يادم نمي ياد كه بخواهم براي شما مثال بزنم.تو خود سي ++ هم وجود دارد.اگر يادم آمد برايتان خواهم نوشت. از گفته ي دوستمان استفاده كن .ايشان هم تجربه ي بيشتري نسبت به من دارند و هم دانش بيشتر. من با نظر ايشان مبني بر ساختن اين تابع موافقم.هميشه كه دستورات در دسترس نيست.
در كتاب آقاي جعفر نژاد ، فكر كنم در همان فصل هاي اول كتاب سي خود همين موضوع را بصورت كناره توضيح داده ولي بايد خيلي تيز باشي تا متوجه بشي منظورش همان است.
خدانگهدار.

Nima_NF
جمعه 16 اسفند 1387, 02:07 صبح
برای حالت خروجی cout می توانید از setprecision با دقت 1 استفاده کنید:



#include <iostream>
#include <iomanip> // for setprecision

double d3 =3.165;
cout << setprecision (1) << d3 << endl; // ---- 3

double d4 =3.865;
cout << setprecision (1) << d4 << endl; // --- 4