سؤال

في C #، كيف أقول تعويم إلى أقرب int؟

أرى الرياضيات. والمعلومات والرياضيات، لكن هذه إرجاع عشري. هل يمكنني استخدام واحد من هؤلاء ثم يلقي إلى int؟

هل كانت مفيدة؟

المحلول

إذا كنت ترغب في جولة إلى أقرب int:

int rounded = (int)Math.Round(precise, 0);

تستطيع ايضا استخذام:

int rounded = Convert.ToInt32(precise);

الذي سوف تستخدم Math.Round(x, 0); إلى الجولة والذي يلقي لك. يبدو ناتر ولكنه أقل وضوحا قليلا.


إذا كنت تريد الجولة أعلى:

int roundedUp = (int)Math.Ceiling(precise);

نصائح أخرى

خارج الجزء العلوي من رأسي:

float fl = 0.678;
int rounded_f = (int)(fl+0.5f);

(int) math.round (mynumber، 0)

الأسهل هو مجرد إضافة 0.5f لذلك ثم يلقي هذا إلى int.

هل يمكنني استخدام واحد من هؤلاء ثم يلقي إلى int؟

نعم. لا توجد مشكلة في القيام بذلك. يمكن أن تمثل الكسور العشرية والزوجي أعداد صحيحة بالضبط، لذلك لن يكون هناك خطأ تمثيل. (لن تحصل على حقيبة، على سبيل المثال، حيث تعود الجولة 4.999 ... بدلا من 5.)

يمكنك وضعها إلى INT على أنها شريطة أن تكون متأكدا من ذلك في نطاق INT (INT32.MINVALUE إلى Int32.maxvalue).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top