الفرق بين المراجعتين ل"Ruby/Float/floor"

من موسوعة حسوب
< Ruby‏ | Float
اذهب إلى التنقل اذهب إلى البحث
(إنشاء الصفحة.)
 
ط
 
سطر 3: سطر 3:
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby Float]]
 
[[تصنيف: Ruby Float]]
يعيد التابع <code>floor</code> أكبر عدد من الأعداد الأصغر من أو تساوي العدد الذي استُدعي معه وبدقة محدَّدة.
+
يعيد التابع <code>floor</code> أكبر عدد من الأعداد الأصغر من أو تساوي العدد العشري الذي استُدعي معه وبدقة محدَّدة.
 
 
ينفِّذ الصنف <code>Numeric</code> هذه العملية عن طريق تحويل قيمة العدد المعطى إلى النوع <code>[[Ruby/Float|Float]]</code> ثم استدعاء التابع <code>[[Ruby/Float/floor|Float.floor]]</code>.
 
 
==البنية العامة==
 
==البنية العامة==
 
<syntaxhighlight lang="ruby">floor([ndigits])  →  integer or float‎</syntaxhighlight>
 
<syntaxhighlight lang="ruby">floor([ndigits])  →  integer or float‎</syntaxhighlight>
 
==المعاملات==
 
==المعاملات==
 
===<code>ndigits‎</code>===
 
===<code>ndigits‎</code>===
عدد يمثل دقة المنازل العشري. القيمة الافتراضية هي: 0.
+
عدد يمثل دقة المنازل العشرية. القيمة الافتراضية هي: 0. عندما تكون الدقة موجبة، يعاد عدد عشري، وإلا يُعاد عددٌ صحيحٌ. أي عندما تكون الدقة سالبة، تكون القيمة المُعادة عددًا صحيحًا متبوعًا بعدد أصفار مقداره <code>ndigits.abs</code> على الأقل.
 
==القيمة المعادة==
 
==القيمة المعادة==
يعاد عدد [[Ruby/Integer|صحيح]] أو [[Ruby/Float|عشري]] يمثِّل أكبر عدد من الأعداد الأصغر من أو تساوي العدد الذي استُدعي معه وبدقة <code>ndigits</code> للمنازل العشرية فيه.
+
يعاد عدد [[Ruby/Integer|صحيح]] أو [[Ruby/Float|عشري]] يمثِّل أكبر عدد من الأعداد الأصغر من أو تساوي العدد الذي استُدعي معه وبدقة <code>ndigits</code> للمنازل العشرية فيه. عندما تكون الدقة موجبة، يعاد عدد عشري، وإلا يُعاد عددٌ صحيحٌ. أي عندما تكون الدقة سالبة، تكون القيمة المُعادة عددًا صحيحًا متبوعًا بعدد أصفار مقداره <code>ndigits.abs</code> على الأقل.
 +
 
 +
== أمثلة ==
 +
مثال على استعمال التابع <code>floor</code>:<syntaxhighlight lang="ruby">
 +
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
 +
</syntaxhighlight>يُلاحظ أن الدقة المحدودة للفاصلة العشرية الحسابية (floating point arithmetic) قد تؤدي إلى نتائج مُدهشة. اطلع على المثال التالي:<syntaxhighlight lang="ruby">
 +
(0.3 / 0.1).floor  #=> 2 (!)
 +
 
 +
</syntaxhighlight>
  
 
==انظر أيضا==
 
==انظر أيضا==
*التابع <code>[[Ruby/Float/ceil|ceil]]</code>: يعيد أصغر عدد من الأعداد الأكبر من أو تساوي العدد الذي استُدعي معه وبدقة محدَّدة.
+
*التابع <code>[[Ruby/Float/ceil|ceil]]</code>: يعيد أصغر عدد من الأعداد الأكبر من أو تساوي العدد العشري الذي استُدعي معه وبدقة محدَّدة.
 
==مصادر==
 
==مصادر==
*[http://ruby-doc.org/core-2.5.1/Numeric.html#method-i-floor قسم التابع floor‎ في الصنف Float في توثيق روبي الرسمي.]
+
*[http://ruby-doc.org/core-2.5.1/Float.html#method-i-floor قسم التابع floor‎ في الصنف Float في توثيق روبي الرسمي.]

المراجعة الحالية بتاريخ 06:05، 24 نوفمبر 2018

يعيد التابع 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: يعيد أصغر عدد من الأعداد الأكبر من أو تساوي العدد العشري الذي استُدعي معه وبدقة محدَّدة.

مصادر