التابع Float.floor‎ في روبي

من موسوعة حسوب
< Ruby‏ | Float

يعيد التابع floor أكبر عدد من الأعداد الأصغر من أو تساوي العدد العشري الذي استُدعي معه وبدقة محدَّدة.

البنية العامة

floor([ndigits])    integer or float

المعاملات

ndigits‎

عدد يمثل دقة المنازل العشرية. القيمة الافتراضية هي: 0. عندما تكون الدقة موجبة، يعاد عدد عشري، وإلا يُعاد عددٌ صحيحٌ. أي عندما تكون الدقة سالبة، تكون القيمة المُعادة عددًا صحيحًا متبوعًا بعدد أصفار مقداره ndigits.abs على الأقل.

القيمة المعادة

يعاد عدد صحيح أو عشري يمثِّل أكبر عدد من الأعداد الأصغر من أو تساوي العدد الذي استُدعي معه وبدقة ndigits للمنازل العشرية فيه. عندما تكون الدقة موجبة، يعاد عدد عشري، وإلا يُعاد عددٌ صحيحٌ. أي عندما تكون الدقة سالبة، تكون القيمة المُعادة عددًا صحيحًا متبوعًا بعدد أصفار مقداره ndigits.abs على الأقل.

أمثلة

مثال على استعمال التابع floor:

1.2.floor      #=> 1
2.0.floor      #=> 2
(-1.2).floor   #=> -2
(-2.0).floor   #=> -2

1.234567.floor(2)   #=> 1.23
1.234567.floor(3)   #=> 1.234
1.234567.floor(4)   #=> 1.2345
1.234567.floor(5)   #=> 1.23456

34567.89.floor(-5)  #=> 0
34567.89.floor(-4)  #=> 30000
34567.89.floor(-3)  #=> 34000
34567.89.floor(-2)  #=> 34500
34567.89.floor(-1)  #=> 34560
34567.89.floor(0)   #=> 34567
34567.89.floor(1)   #=> 34567.8
34567.89.floor(2)   #=> 34567.89
34567.89.floor(3)   #=> 34567.89

يُلاحظ أن الدقة المحدودة للفاصلة العشرية الحسابية (floating point arithmetic) قد تؤدي إلى نتائج مُدهشة. اطلع على المثال التالي:

(0.3 / 0.1).floor  #=> 2 (!)

انظر أيضا

  • التابع ceil: يعيد أصغر عدد من الأعداد الأكبر من أو تساوي العدد العشري الذي استُدعي معه وبدقة محدَّدة.

مصادر