الفرق بين المراجعتين لصفحة: «Ruby/Float/round»

من موسوعة حسوب
< Ruby‏ | Float
إنشاء الصفحة.
 
لا ملخص تعديل
 
سطر 4: سطر 4:
[[تصنيف: Ruby Float]]
[[تصنيف: Ruby Float]]
يقرِّب التابع <code>round</code> العدد الذي استُدعي معه إلى أقرب قيمة بدقة محدَّدة.
يقرِّب التابع <code>round</code> العدد الذي استُدعي معه إلى أقرب قيمة بدقة محدَّدة.
ينفذ الصنف <code>Numeric</code> هذا عن طريق تحويل قيمة العدد إلى النوع <code>[[Ruby/Float|Float]]</code> ثم استدعاء [[Ruby/Float/round|<code>Float.round</code>.]]
==البنية العامة==
==البنية العامة==
<syntaxhighlight lang="ruby">round([ndigits]) integer or float‎</syntaxhighlight>
<syntaxhighlight lang="ruby">round([ndigits] [, half: mode]) → integer or float</syntaxhighlight>
==المعاملات==
==المعاملات==
===<code>ndigits‎</code>===
===<code>ndigits‎</code>===


عدد يمثل دقة التقريب.
عدد يمثل دقة التقريب. عندما تكون الدقة المعطاة قيمة موجبة، يعاد عدد عشري، وإلا يُعاد عددٌ صحيحٌ. وأما عندما تكون الدقة سالبة، تكون القيمة المُعادة عدد صحيح متبوعًا بعدد أصفار مقداره <code>ndigits.abs</code> على الأقل.
 
=== <code>half</code> ===
إذا أعطي المعامل <code>half</code> الاختياري، فستُقرَّب الأرقام التي تقع في المنتصف بين قيمتين مقرَّبتين ممكنتين وفقًا للوضع <code>mode</code> المُحدَّد. الأوضاع التي يمكن استعمالها مع هذا المعامل هي:
*<code>‎:up</code> أو <code>nil:</code>: التقريب نحو النصف العلوي الأبعد عن الصفر (الوضع الافتراضي).
*<code>‎:down</code>: التقريب نحو النصف السفلي باتجاه الصفر.
*<code>‎:even</code>: التقريب نحو النصف الأقرب إلى عدد زوجي.
==القيمة المعادة==
==القيمة المعادة==
يعاد عدد [[Ruby/Integer|صحيح]] أو [[Ruby/Float|عشري]] يمثِّل ناتج تقريب العدد المعطى إلى أقرب قيمة بدقة <code>ndigits</code> للمنازل العشري.
يعاد عدد [[Ruby/Integer|صحيح]] أو [[Ruby/Float|عشري]] يمثِّل ناتج تقريب العدد المعطى إلى أقرب قيمة بدقة <code>ndigits</code> للمنازل العشري. عندما تكون الدقة <code>ndigits‎</code> المعطاة قيمة موجبة، يعاد عدد عشري، وإلا يُعاد عددٌ صحيحٌ. وأما عندما تكون الدقة سالبة، تكون القيمة المُعادة عدد صحيح متبوعًا بعدد أصفار مقداره <code>ndigits.abs</code> على الأقل.
 
== أمثلة ==
مثال على استعمال التابع <code>round</code>:<syntaxhighlight lang="ruby">
1.4.round      #=> 1
1.5.round      #=> 2
1.6.round      #=> 2
(-1.5).round  #=> -2
 
1.234567.round(2)  #=> 1.23
1.234567.round(3)  #=> 1.235
1.234567.round(4)  #=> 1.2346
1.234567.round(5)  #=> 1.23457
 
34567.89.round(-5)  #=> 0
34567.89.round(-4)  #=> 30000
34567.89.round(-3)  #=> 35000
34567.89.round(-2)  #=> 34600
34567.89.round(-1)  #=> 34570
34567.89.round(0)  #=> 34568
34567.89.round(1)  #=> 34567.9
34567.89.round(2)  #=> 34567.89
34567.89.round(3)  #=> 34567.89
</syntaxhighlight>مثال على استعمال التابع <code>round</code> مع تمرير المعامل <code>half</code> إليه:<syntaxhighlight lang="ruby">
2.5.round(half: :up)      #=> 3
2.5.round(half: :down)    #=> 2
2.5.round(half: :even)    #=> 2
3.5.round(half: :up)      #=> 4
3.5.round(half: :down)    #=> 3
3.5.round(half: :even)    #=> 4
(-2.5).round(half: :up)  #=> -3
(-2.5).round(half: :down) #=> -2
(-2.5).round(half: :even) #=> -2
</syntaxhighlight>


==انظر أيضا==
==انظر أيضا==
* التابع [[Ruby/Float/ceil|<code>ceil</code>]]: يعيد أصغر عدد من الأعداد الأكبر من أو تساوي العدد الذي استُدعي معه وبدقة محدَّدة.
* التابع [[Ruby/Float/ceil|<code>ceil</code>]]: يعيد أصغر عدد من الأعداد الأكبر من أو تساوي العدد العشري الذي استُدعي معه وبدقة محدَّدة.
* التابع [[Ruby/Float/floor|<code>floor</code>]]: يعيد أكبر عدد من الأعداد الأصغر من أو تساوي العدد الذي استُدعي معه وبدقة محدَّدة.
* التابع [[Ruby/Float/floor|<code>floor</code>]]: يعيد أكبر عدد من الأعداد الأصغر من أو تساوي العدد العشري الذي استُدعي معه وبدقة محدَّدة.
* التابع <code>[[Ruby/Float/truncate|truncate]]</code>: يعيد العدد الذي استُدعي معه بعد اقتطاع المنازل العشرية منه بمقدار محدَّد.
* التابع <code>[[Ruby/Float/truncate|truncate]]</code>: يعيد العدد العشري الذي استُدعي معه بعد اقتطاع المنازل العشرية منه بمقدار محدَّد.


==مصادر==
==مصادر==
*[http://ruby-doc.org/core-2.5.1/Numeric.html#method-i-round قسم التابع round‎ في الصنف Float في توثيق روبي الرسمي.]
*[http://ruby-doc.org/core-2.5.1/Float.html#method-i-round قسم التابع round‎ في الصنف Float في توثيق روبي الرسمي.]

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

يقرِّب التابع round العدد الذي استُدعي معه إلى أقرب قيمة بدقة محدَّدة.

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

round([ndigits] [, half: mode])  integer or float

المعاملات

ndigits‎

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

half

إذا أعطي المعامل half الاختياري، فستُقرَّب الأرقام التي تقع في المنتصف بين قيمتين مقرَّبتين ممكنتين وفقًا للوضع mode المُحدَّد. الأوضاع التي يمكن استعمالها مع هذا المعامل هي:

  • ‎:up أو nil:: التقريب نحو النصف العلوي الأبعد عن الصفر (الوضع الافتراضي).
  • ‎:down: التقريب نحو النصف السفلي باتجاه الصفر.
  • ‎:even: التقريب نحو النصف الأقرب إلى عدد زوجي.

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

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

أمثلة

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

1.4.round      #=> 1
1.5.round      #=> 2
1.6.round      #=> 2
(-1.5).round   #=> -2

1.234567.round(2)   #=> 1.23
1.234567.round(3)   #=> 1.235
1.234567.round(4)   #=> 1.2346
1.234567.round(5)   #=> 1.23457

34567.89.round(-5)  #=> 0
34567.89.round(-4)  #=> 30000
34567.89.round(-3)  #=> 35000
34567.89.round(-2)  #=> 34600
34567.89.round(-1)  #=> 34570
34567.89.round(0)   #=> 34568
34567.89.round(1)   #=> 34567.9
34567.89.round(2)   #=> 34567.89
34567.89.round(3)   #=> 34567.89

مثال على استعمال التابع round مع تمرير المعامل half إليه:

2.5.round(half: :up)      #=> 3
2.5.round(half: :down)    #=> 2
2.5.round(half: :even)    #=> 2
3.5.round(half: :up)      #=> 4
3.5.round(half: :down)    #=> 3
3.5.round(half: :even)    #=> 4
(-2.5).round(half: :up)   #=> -3
(-2.5).round(half: :down) #=> -2
(-2.5).round(half: :even) #=> -2

انظر أيضا

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

مصادر