واضح آرشیو وب فارسی:سایت ریسک: soheil136626-10-2006, 12:37 PMسلام يك برنامه بنويسيد كه يك عدد اعشاري رو بگيره(float یا double) بعد قسمت اعشار رو جدا کنه وبه ما به صورت یک عدد صحیح نمایش بده و همچنین تعداد ارقام اعشار خورده در ضمن با رشته و کاراکتر کاری انجام ندین در ضمن ما نمیدونیم که عددfloat یا double یا... یک نکته ی دیگه اینکه مثلا عدد 13 با عدد 13.0 برابر نیست چون دومی floating point هست و ممکنه بعد از چندین رقم اعشار دیگر صفر نباشه EMPERATOUR26-10-2006, 01:11 PMبراي اينكه اعشار رو برداره بايد متغير تبديل به int اينتجر بشه someone26-10-2006, 01:32 PMسلام. حتما با type casting آشنا هستيد. !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! و براي نشون دادن قسمت اعشاري هم كافي قسمت unbox شده رو از عدد اصلي كم كنيم: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! soheil136626-10-2006, 05:43 PMسلام من گفتم که قسمت اعشار رو به صورت یک عدد طبیعی نشون بده و بدون علامت اعشارش مثلاً عدد 12.24 رو به صورت دو عدد 12و24 نمایش بده با این کارایی که شما گفتین اعشار به صورت یک عدد اعشاری نشون داده میشه یعنی 0.24 و هدف من این نیست someone27-10-2006, 12:23 AMدوباره سلام. کافیه دوباره از typecasting استفاده بشه به اين شكل: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! اميدوارم مشكل حل شده باشه.البته حتما الگوريتم هاي بهتري هم وجود داره. ممنون. soheil136627-10-2006, 10:53 AMسلام خیلی ممنون از برنامتون ولی باز هم یک مشکل کوچیک وجود داره که من در اولین پست به اون اشاره کردم واینه که در اعداد اعشاری معلوم نیست که تا چند عدد اعشاری صفر وجود داره مثلا اگر شما در برنامه عدد 1234.1234 رو وارد کنید میبینید که درون یک حلقه ی بینهایت می افته ودلیلش اینه که این عدد در کامپیوتر به صورت 1234.123399999999 ذخیره میشه پس این روش نمیتونه روش کامل و بدونه نقصی باشه و اصلا من این برنامه رو خواستم تا یک نفر یک روش حل(غیر از این روش) و بدون نقص پیشنهاد کنه شما هم اگر روش دیگه ای به ذهنتون رسید به من کمک کنید به حرحال باز هم از توجه شما ممنونم someone27-10-2006, 11:40 PMسلام. اول باید یه تشکر کنم از شما به خاطر مسئله ای که مطرح کردید. ممکنه در ظاهر زیاد مهم نباشه ولی بسیار ارزشمند هست. در ضمن باید بگم این دومین بحثی هست که با هم داریم و کاملا مشخصه که شما مسلط هستید. همونطور که میدونید double شامل 64 bits هست. 1 bit برای علامت 11 bits برای توان 52 bits برای قسمت اعشاری وعدد به ازای هر عدد صحیح تا جایی که لازم باشه فضا در نظر گرفته میشه به اضافه ی اینکه میشه برای قسمت اعشاری (یا عدد های بزرگ) از توان استفاده کرد. تغییراتی در برنامه دادم که مشخصه. اگه عدد شما صرفا اعشاری باشه تا 6 رقم دقت رو میشه با این کد حساب کرد. اما با توجه به چیزهای که گفته شد با اضافه کردن هر رقم صحیح به عدد مورد نظر از دقت قسمت اعشار کاسته میشه. مثلا برای عدد 714 دقت به چهار رقم اعشار میرسه وبه همین ترتیب. یعنی خروجی برنامه به ازای 714.4236 عدد 4236 هست اما اگه 714.42365 رو نمیتونه حساب کنه !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! راستي بايد اضافه كنم اگه رقم آخر قسمت اعشاري(قسمت كم ارزش) از 5 كوچكتر باشه خودش در حافظه قرار ميگيره و اگه بزرگتر از 5 باشه , يك رقم از عدد آخر كم و دنباله به صورت 999..در مياد. مثلا : 1234.124 به صورت 1234.124000000000000 و عدد 1234.127 به صورت 1234.12699999999999 soheil136628-10-2006, 01:05 AMسلام خيلي ممنون از اينكه در اين بحث با من همكاري كردين و منو راهنمايي كردين در ضمن عدد1234.1234 در كامپيوتر من 1234.12399999 نمايش داده ميشه و من فكر ميكنم اين نكته اي رو كه شما در مورد رقم آخر قسمت اعشاري گفتين به تعداد ارقام اعشار خورده هم ربطي داشته باشه يا حداقل تا جايي كه من امتحان كردم اينجوري بوده باز هم از توجه شما ممنونم someone29-10-2006, 01:15 AMبله كاملا درسته.هونطور كه گفتيد به تعداد رقم هاي اعشار و هم به تعداد رقم هاي صحيح بستگي داره. خواهش ميكنم خوشحال ميشم بتونم كمكي كرده باشم. باز ممنون به خاطر بحثي كه مطرح كرديد. fatimarajabi23-12-2010, 01:54 PMسلام برای کم کردن تعداد ارقام اعشار نوع داده double باید چکار کرد البته در c# ؟ممنون میشم کمکم کنید Farbod 311301-01-2011, 03:49 PMسلام يك برنامه بنويسيد كه يك عدد اعشاري رو بگيره(float یا double) بعد قسمت اعشار رو جدا کنه وبه ما به صورت یک عدد صحیح نمایش بده و همچنین تعداد ارقام اعشار خورده در ضمن با رشته و کاراکتر کاری انجام ندین در ضمن ما نمیدونیم که عددfloat یا double یا... یک نکته ی دیگه اینکه مثلا عدد 13 با عدد 13.0 برابر نیست چون دومی floating point هست و ممکنه بعد از چندین رقم اعشار دیگر صفر نباشه سلام اگه ممکنه همین سورس رو با c (نه++c) بذارید ممنون:20: Farbod 311301-01-2011, 05:05 PMسلام برای کم کردن تعداد ارقام اعشار نوع داده double باید چکار کرد البته در c# ؟ممنون میشم کمکم کنید در c باید هنگام چاپ 1.2f % تعداد اعشار رو دو تا میکنه 1.4f٪ اون رو 4 تا میکنه شاید در C# هم همین طور باشه در غیر این صورت شرمنده.:13: سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 7326]