الفرق بين المراجعتين لصفحة: «Ruby/Float»
Khaled-yassin (نقاش | مساهمات) |
جميل-بيلوني (نقاش | مساهمات) مراجعة وتدقيق. |
||
(7 مراجعات متوسطة بواسطة مستخدمين اثنين آخرين غير معروضة) | |||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: | <noinclude>{{DISPLAYTITLE: الصنف <code>Float</code> في روبي}}</noinclude> | ||
تمثِّل كائنات الصنف <code>Float</code> أعدادًا حقيقيةً غير دقيقة (inexact real numbers) باستخدام التمثيل العشري ذي الدقة المضاعفة للبنية الأصلية. | |||
للمنازل العشرية حساب مختلف وهو عدد غير دقيق، لذا يجب معرفة نظامها الخاص. نقترخ عليك الاطلاع على الصفحات التالية: | |||
[ | * [https://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html ما هي الأشياء التي يجب أن يعرفها كل عالم حاسوب عن الأعداد العشرية]. | ||
[ | * [https://github.com/rdp/ruby_tutorials_core/wiki/ruby-talk-faq#floats_imprecise لماذا الأعداد العشرية في روبي غير دقيقة؟] | ||
[[ | * [[wikipedia:Floating-point_arithmetic#Accuracy_problems|مشاكل في الدقة]]. | ||
==الثوابت== | |||
===<code>DIG</code>=== | |||
الحد الأدنى لعدد الأرقام العشرية ذات الدلالة في المنازل العشرية المزدوجة الدقة. وعادةً ما تكون قيمته الافتراضية <code>15</code>. | |||
===<code>EPSILON</code>=== | |||
الفرق بين <code>1</code> و أصغر عدد عشري ذي دقة مضاعفة أكبر من <code>1</code> من نوع النقطة العائمة المزدوجة الدقة. وعادة ما تكون قيمته الافتراضية هي <code>2.2204460492503131e-16</code>. | |||
===<code>INFINITY</code>=== | |||
يمثل اللانهاية الموجبة. | |||
===<code>MANT_DIG</code>=== | |||
عدد الأرقام الأساسية للأعداد العشرية المضاعفة (أي البيانات ذات النوع double). وعادةً ما تكون قيمته الافتراضية هي <code>53</code>. | |||
===<code>MAX</code>=== | |||
أكبر عدد صحيح في العدد العشري ذي الدقة المضاعفة. وعادةً ما تكون قيمته الافتراضية <code>1.7976931348623157e+308</code>. | |||
===<code>MAX_10_EXP</code>=== | |||
أكبر أس موجب في العدد العشري ذي الدقة المضاعفة حيث تكون القيمة <code>10</code> مرفوعة إلى هذا الأس بعد طرح القيمة <code>1</code> منها. وعادةً ما تكون قيمته الافتراضية هي <code>308</code>. | |||
===<code>MAX_EXP</code>=== | |||
أكبر قيمة أس محتملة في العدد العشري ذي الدقة المضاعفة. وعادةً ما تكون قيمته الافتراضية هي <code>1024</code>. | |||
===<code>MIN</code>=== | |||
أصغر رقم طبيعي ([[wikipedia:Normalized_number|normalized number]]) موجب في العدد العشري ذي الدقة المضاعفة. وعادة ما تكون قيمته الافتراضية <code>2.2250738585072014e-308</code>. | |||
إذا كانت المنصة تدعم الأعداد غير الطبيعية ([[wikipedia:Denormal_number|denormalized numbers]])، فسيكون هناك أرقام بين الصفر والقيمة <code>Float::MIN</code>. وتعيد <code>0.0.next_float</code> أصغر عدد عشري موجب بما في ذلك الأعداد غير الطبيعية ([[wikipedia:Denormal_number|denormalized numbers]]). | |||
===<code>MIN_10_EXP</code>=== | |||
أصغر أس سالب في العدد العشري ذي الدقة المضاعفة إذ تكون <code>10</code> مرفوعة إلى هذا الأس ناقص <code>1</code>. وعادةً ما تكون قيمته الافتراضية <code>-307</code>. | |||
===<code>MIN_EXP</code>=== | |||
أصغر قيمة أس محتملة في العدد العشري ذي الدقة المضاعفة. وعادةً ما تكون قيمته الافتراضية <code>-1021</code>. | |||
===<code>NAN</code>=== | |||
إذا كانت المنصة تدعم | |||
أصغر أس سالب في | |||
أصغر قيمة أس محتملة في | |||
تعبير يمثل القيمة "ليست عددًا" (not a number). | تعبير يمثل القيمة "ليست عددًا" (not a number). | ||
===<code>RADIX</code>=== | |||
أساس العدد العشري، أو عدد الأرقام الفريدة المستخدمة لتمثيل العدد. وعادةً ما تكون قيمته الافتراضية <code>2</code> على معظم الأنظمة، والتي تمثل النظام العشري ذي الأساس <code>10</code>. | |||
أساس | ===<code>ROUNDS</code>=== | ||
يمثل وضع التقريب لإضافة المنازل العشرية. وعادةً ما تكون قيمته الافتراضية <code>1</code>، التقريب إلى أقرب عدد. | |||
يمثل وضع التقريب لإضافة | |||
وتشمل الأوضاع الأخرى: | وتشمل الأوضاع الأخرى: | ||
* <code>-1</code>: مُتعذِّر تحديده. | |||
* <code>0</code>: التقريب نحو الصفر. | |||
<code>0</code> : التقريب نحو الصفر. | |||
* <code>1</code>: التقريب إلى أقرب عدد. | |||
< | * <code>2</code>: التقريب نحو اللانهاية الموجبة. | ||
* <code>3</code>: التقريب نحو اللانهاية السالبة. | |||
==== <code> | =توابع النسخة العامة= | ||
===<code>[[Ruby/Float/mod|%]]</code>=== | |||
يعيد باقي عملية قسمة عدد عشري على عدد آخر. | |||
===<code>[[Ruby/Float/multiplication|*]]</code>=== | |||
يعيد ناتج عملية ضرب عدد عشري بعدد آخر. | |||
===<code>[[Ruby/Float/expo|**]]</code>=== | |||
يعيد ناتج عملية رفع عدد عشري (الأساس) إلى قوة عدد محدد (الأس). | |||
Float | ===<code>[[Ruby/Float/plus|+]]</code>=== | ||
يعيد ناتج عملية الجمع بين عددين. | |||
Float | ===<code>[[Ruby/Float/minus|-]]</code>=== | ||
يعيد ناتج عملية الطرح بين عددين. | |||
===<code>[[Ruby/Float/negation|-]]</code>=== | |||
إن استُعمِل هذا المعامل بالشكل <code>-Float</code>، فسيعيد القيمة المعاكسة للعدد <code>Float</code> العشري (أي القيمة السالبة إن كان <code>Float</code> موجبًا أو العكس بالعكس). | |||
===<code>[[Ruby/Float/division|/]]</code>=== | |||
يعيد ناتج عملية القسمة بين عدد عشري وعدد آخر. | |||
===<code>[[Ruby/Float/lt|>]]</code>=== | |||
يعيد القيمة <code>true</code> إن كانت قيمة العدد العشري الواقع على يساره أصغر من قيمة العدد المواقع على يمينه. | |||
===<code>[[Ruby/Float/le|=>]]</code>=== | |||
يعيد القيمة <code>true</code> إن كانت قيمة العدد العشري الواقع على يساره أصغر من أو تساوي قيمة العدد الواقع على يمينه. | |||
===<code>[[Ruby/Float/comparison|<=>]]</code>=== | |||
يعيد عددًا صحيحًا (-1 أو 0 أو +1) إذا كان العدد العشري الواقع على يساره أصغر من أو يساوي أو أكبر من العدد الآخر الواقع على يمينه على التوالي. | |||
===<code>[[Ruby/Float/equal|==]]</code>=== | |||
يعيد القيمة <code>true</code> إن كان العدد العشري الواقع على يساره يساوي القيمة الواقعة على يمينه. | |||
===<code>[[Ruby/Float/gt|<]]</code>=== | |||
يعيد القيمة <code>true</code> إن كانت قيمة العدد العشري الواقع على يساره أكبر من قيمة العدد الآخر الواقع على يمينه. | |||
Float | ===<code>[[Ruby/Float/ge|=<]]</code>=== | ||
يعيد القيمة <code>true</code> إن كانت قيمة العدد العشري الواقع على يساره أكبر من أو تساوي قيمة العدد الآخر الواقع على يمينه. | |||
===<code>[[Ruby/Float/abs|abs]]</code>=== | |||
يعيد القيمة المطلقة للعدد العشري الذي استُدعي معه. | |||
===<code>[[Ruby/Float/angle|angle]]</code>=== | |||
يعيد القيمة <code>0</code> إن كان العدد العشري الذي استُدعي معه موجبًا، أو القيمة <code>[[Ruby/Math/PI|pi]]</code> خلاف ذلك. | |||
===<code>[[Ruby/Float/arg|arg]]</code>=== | |||
يعيد القيمة <code>0</code> إن كان العدد العشري الذي استُدعي معه موجبًا، أو القيمة <code>[[Ruby/Math/PI|pi]]</code> خلاف ذلك. | |||
===<code>[[Ruby/Float/ceil|ceil]]</code>=== | |||
يعيد أصغر عدد من الأعداد الأكبر من أو تساوي العدد العشري الذي استُدعي معه وبدقة محدَّدة. | |||
===<code>[[Ruby/Float/coerce|coerce]]</code>=== | |||
يحول العدد المستدعى معها والعدد العشري المُمرَّر إليها إلى النوع <code>[[Ruby/Float|Float]]</code> ويعيدهما في مصفوفة. | |||
===<code>[[Ruby/Float/denominator|denominator]]</code>=== | |||
يعيد المقام (denominator) للعدد الكسري الذي استدعي معه، ويكون دائمًا موجبًا. | |||
===<code>[[Ruby/Float/divmod|divmod]]</code>=== | |||
يعيد مصفوفة تحتوي على حاصل (quotient) وباقي قسمة العدد الذي استُدعي معه على العدد المُمرَّر إليه. | |||
===<code>[[Ruby/Float/eql-3F|eql?]]</code>=== | |||
يتحقق إن كان العدد الذي استُدعي معه والعدد المُمرَّر إليه من نفس النوع (أي كلاهما عدد عشري) ومتساويين في القيمة. | |||
===<code>[[Ruby/Float/fdiv|fdiv]]</code>=== | |||
يجري عملية القسمة بين العدد الذي استدعي معه والعدد الذي مُرِّر إليه ثم يعيد الناتج في عدد <nowiki/>[[Ruby/Float|عشري]]. | |||
| ===<code>[[Ruby/Float/finite-3F|finite?]]</code>=== | ||
يتحقق إذا كان العدد العشري الذي استدعي معه عددًا عشريًّا صالحًا وفقًا لمعيار IEEE؛ أي أنه ليس عددٌ لا نهائي ويعيد التابع <code>nan?</code> القيمة <code>false</code> معه. | |||
===<code>[[Ruby/Float/floor|floor]]</code>=== | |||
يعيد أكبر عدد من الأعداد الأصغر من أو تساوي العدد العشري الذي استُدعي معه وبدقة محدَّدة. | |||
===<code>[[Ruby/Float/hash|hash]]</code>=== | |||
يعيد القيمة hash للعدد العشري الذي استدعي معه. | |||
===<code>[[Ruby/Float/infinite-3F|infinite?]]</code>=== | |||
يتحقق إذا ما إن كان العدد الذي استدعي معه منتهيًا (finite) أو غير منتهي من الطرف السالب (<code>-Infinity</code>) أو غير منتهي من الطرف الموجب (<code>+Infinity</code>). | |||
===<code>[[Ruby/Float/inspect|inspect]]</code>=== | |||
هو اسم بديل للتابع <code>to_s</code>. | |||
===<code>[[Ruby/Float/magnitude|magnitude]]</code>=== | |||
يعيد القيمة المطلقة للعدد العشري الذي استُدعي معه. | |||
===<code>[[Ruby/Float/modulo|modulo]]</code>=== | |||
يعيد باقي عملية قسمة العدد العشري الذي استُدعي معه على العدد المُعطى. | |||
===<code>[[Ruby/Float/nan-3F|nan?]]</code>=== | |||
يتحقق إذا كان العدد العشري الذي استدعي معه عددًا عشريًّا غير صالح وفقًا لمعيار IEEE. | |||
===<code>[[Ruby/Float/negative-3F|negative?]]</code>=== | |||
يتحقق إن كان العدد العشري الذي استُدعي معه عددًا سالبًا. | |||
===<code>[[Ruby/Float/next_float|next_float]]</code>=== | |||
يعيد العدد العشري الذي يلي العدد العشري الذي استُدعي معه. | |||
===<code>[[Ruby/Float/numerator|numerator]]</code>=== | |||
يعيد البسط للعد الكسري الذي استدعي معه. | |||
===<code>[[Ruby/Float/phase|phase]]</code>=== | |||
يعيد القيمة <code>0</code> إن كان العدد العشري الذي استُدعي معه موجبًا، أو يعيد القيمة <code>[[Ruby/Math/PI|pi]]</code>خلاف ذلك. | |||
===<code>[[Ruby/Float/positive-3F|positive?]]</code>=== | |||
يتحقق إن كان العدد العشري الذي استُدعي معه عددًا موجبًا. | |||
===<code>[[Ruby/Float/prev_float|prev_float]]</code>=== | |||
يعيد العدد العشري الذي يسبق العدد العشري الذي استُدعي معه. | |||
===<code>[[Ruby/Float/quo|quo]]</code>=== | |||
يعيد ناتج قسم العدد العشري المستدعى معه على العدد العشري المُمرَّر إليه. | |||
===<code>[[Ruby/Float/rationalize|rationalize]]</code>=== | |||
يعيد قيمة تقريبة بسيطة (<code>flt-|eps| <= result <= flt+|eps|</code>) للعدد العشري الذي استدعي معه. | |||
===<code>[[Ruby/Float/round|round]]</code>=== | |||
يقرِّب العدد الذي استُدعي معه إلى أقرب قيمة بدقة محدَّدة. | |||
===<code>[[Ruby/Float/to_f|to_f]]</code>=== | |||
يعيد العدد العشري الذي استدعي معه نفسه. | |||
===<code>[[Ruby/Float/to_i|to_i]]</code>=== | |||
يحول العدد العشري الذي استُدعي معه إلى <nowiki/>[[Ruby/Integer|عدد صحيح]]. | |||
===<code>[[Ruby/Float/to_int|to_int]]</code>=== | |||
يحول العدد العشري الذي استُدعي معه إلى <nowiki/>[[Ruby/Integer|عدد صحيح]]. | |||
===<code>[[Ruby/Float/to_r|to_r]]</code>=== | |||
يحول العدد العشري الذي استُدعي معه إلى <nowiki/>[[Ruby/Rational|عدد جذري]] (rational). | |||
===<code>[[Ruby/Float/to_s|to_s]]</code>=== | |||
يحول العدد العشري الذي استدعي معه إلى سلسلة نصية. | |||
===<code>[[Ruby/Float/truncate|truncate]]</code>=== | |||
يعيد العدد العشري الذي استُدعي معه بعد اقتطاعه إلى دقة (precision) محدَّدة. | |||
===<code>[[Ruby/Float/zero-3F|zero?]]</code>=== | |||
يتحقق إن كانت قيمة العدد العشري الذي استُدعي معه تساوي الصفر. | |||
= مصادر = | == مصادر == | ||
* [http://ruby-doc.org/core-2.5.1/Float.html صفحة Float في توثيق روبي الرسمي.] | * <span> </span>[http://ruby-doc.org/core-2.5.1/Float.html صفحة الصنف Float في توثيق روبي الرسمي.] | ||
[[تصنيف:Ruby]] | [[تصنيف:Ruby]] | ||
[[تصنيف:Ruby Class]] | |||
[[تصنيف:Ruby Float]] |
المراجعة الحالية بتاريخ 11:19، 24 نوفمبر 2018
تمثِّل كائنات الصنف Float
أعدادًا حقيقيةً غير دقيقة (inexact real numbers) باستخدام التمثيل العشري ذي الدقة المضاعفة للبنية الأصلية.
للمنازل العشرية حساب مختلف وهو عدد غير دقيق، لذا يجب معرفة نظامها الخاص. نقترخ عليك الاطلاع على الصفحات التالية:
الثوابت
DIG
الحد الأدنى لعدد الأرقام العشرية ذات الدلالة في المنازل العشرية المزدوجة الدقة. وعادةً ما تكون قيمته الافتراضية 15
.
EPSILON
الفرق بين 1
و أصغر عدد عشري ذي دقة مضاعفة أكبر من 1
من نوع النقطة العائمة المزدوجة الدقة. وعادة ما تكون قيمته الافتراضية هي 2.2204460492503131e-16
.
INFINITY
يمثل اللانهاية الموجبة.
MANT_DIG
عدد الأرقام الأساسية للأعداد العشرية المضاعفة (أي البيانات ذات النوع double). وعادةً ما تكون قيمته الافتراضية هي 53
.
MAX
أكبر عدد صحيح في العدد العشري ذي الدقة المضاعفة. وعادةً ما تكون قيمته الافتراضية 1.7976931348623157e+308
.
MAX_10_EXP
أكبر أس موجب في العدد العشري ذي الدقة المضاعفة حيث تكون القيمة 10
مرفوعة إلى هذا الأس بعد طرح القيمة 1
منها. وعادةً ما تكون قيمته الافتراضية هي 308
.
MAX_EXP
أكبر قيمة أس محتملة في العدد العشري ذي الدقة المضاعفة. وعادةً ما تكون قيمته الافتراضية هي 1024
.
MIN
أصغر رقم طبيعي (normalized number) موجب في العدد العشري ذي الدقة المضاعفة. وعادة ما تكون قيمته الافتراضية 2.2250738585072014e-308
.
إذا كانت المنصة تدعم الأعداد غير الطبيعية (denormalized numbers)، فسيكون هناك أرقام بين الصفر والقيمة Float::MIN
. وتعيد 0.0.next_float
أصغر عدد عشري موجب بما في ذلك الأعداد غير الطبيعية (denormalized numbers).
MIN_10_EXP
أصغر أس سالب في العدد العشري ذي الدقة المضاعفة إذ تكون 10
مرفوعة إلى هذا الأس ناقص 1
. وعادةً ما تكون قيمته الافتراضية -307
.
MIN_EXP
أصغر قيمة أس محتملة في العدد العشري ذي الدقة المضاعفة. وعادةً ما تكون قيمته الافتراضية -1021
.
NAN
تعبير يمثل القيمة "ليست عددًا" (not a number).
RADIX
أساس العدد العشري، أو عدد الأرقام الفريدة المستخدمة لتمثيل العدد. وعادةً ما تكون قيمته الافتراضية 2
على معظم الأنظمة، والتي تمثل النظام العشري ذي الأساس 10
.
ROUNDS
يمثل وضع التقريب لإضافة المنازل العشرية. وعادةً ما تكون قيمته الافتراضية 1
، التقريب إلى أقرب عدد.
وتشمل الأوضاع الأخرى:
-
-1
: مُتعذِّر تحديده.
0
: التقريب نحو الصفر.
1
: التقريب إلى أقرب عدد.
2
: التقريب نحو اللانهاية الموجبة.
3
: التقريب نحو اللانهاية السالبة.
توابع النسخة العامة
%
يعيد باقي عملية قسمة عدد عشري على عدد آخر.
*
يعيد ناتج عملية ضرب عدد عشري بعدد آخر.
**
يعيد ناتج عملية رفع عدد عشري (الأساس) إلى قوة عدد محدد (الأس).
+
يعيد ناتج عملية الجمع بين عددين.
-
يعيد ناتج عملية الطرح بين عددين.
-
إن استُعمِل هذا المعامل بالشكل -Float
، فسيعيد القيمة المعاكسة للعدد Float
العشري (أي القيمة السالبة إن كان Float
موجبًا أو العكس بالعكس).
/
يعيد ناتج عملية القسمة بين عدد عشري وعدد آخر.
>
يعيد القيمة true
إن كانت قيمة العدد العشري الواقع على يساره أصغر من قيمة العدد المواقع على يمينه.
=>
يعيد القيمة true
إن كانت قيمة العدد العشري الواقع على يساره أصغر من أو تساوي قيمة العدد الواقع على يمينه.
<=>
يعيد عددًا صحيحًا (-1 أو 0 أو +1) إذا كان العدد العشري الواقع على يساره أصغر من أو يساوي أو أكبر من العدد الآخر الواقع على يمينه على التوالي.
==
يعيد القيمة true
إن كان العدد العشري الواقع على يساره يساوي القيمة الواقعة على يمينه.
<
يعيد القيمة true
إن كانت قيمة العدد العشري الواقع على يساره أكبر من قيمة العدد الآخر الواقع على يمينه.
=<
يعيد القيمة true
إن كانت قيمة العدد العشري الواقع على يساره أكبر من أو تساوي قيمة العدد الآخر الواقع على يمينه.
abs
يعيد القيمة المطلقة للعدد العشري الذي استُدعي معه.
angle
يعيد القيمة 0
إن كان العدد العشري الذي استُدعي معه موجبًا، أو القيمة pi
خلاف ذلك.
arg
يعيد القيمة 0
إن كان العدد العشري الذي استُدعي معه موجبًا، أو القيمة pi
خلاف ذلك.
ceil
يعيد أصغر عدد من الأعداد الأكبر من أو تساوي العدد العشري الذي استُدعي معه وبدقة محدَّدة.
coerce
يحول العدد المستدعى معها والعدد العشري المُمرَّر إليها إلى النوع Float
ويعيدهما في مصفوفة.
denominator
يعيد المقام (denominator) للعدد الكسري الذي استدعي معه، ويكون دائمًا موجبًا.
divmod
يعيد مصفوفة تحتوي على حاصل (quotient) وباقي قسمة العدد الذي استُدعي معه على العدد المُمرَّر إليه.
eql?
يتحقق إن كان العدد الذي استُدعي معه والعدد المُمرَّر إليه من نفس النوع (أي كلاهما عدد عشري) ومتساويين في القيمة.
fdiv
يجري عملية القسمة بين العدد الذي استدعي معه والعدد الذي مُرِّر إليه ثم يعيد الناتج في عدد عشري.
finite?
يتحقق إذا كان العدد العشري الذي استدعي معه عددًا عشريًّا صالحًا وفقًا لمعيار IEEE؛ أي أنه ليس عددٌ لا نهائي ويعيد التابع nan?
القيمة false
معه.
floor
يعيد أكبر عدد من الأعداد الأصغر من أو تساوي العدد العشري الذي استُدعي معه وبدقة محدَّدة.
hash
يعيد القيمة hash للعدد العشري الذي استدعي معه.
infinite?
يتحقق إذا ما إن كان العدد الذي استدعي معه منتهيًا (finite) أو غير منتهي من الطرف السالب (-Infinity
) أو غير منتهي من الطرف الموجب (+Infinity
).
inspect
هو اسم بديل للتابع to_s
.
magnitude
يعيد القيمة المطلقة للعدد العشري الذي استُدعي معه.
modulo
يعيد باقي عملية قسمة العدد العشري الذي استُدعي معه على العدد المُعطى.
nan?
يتحقق إذا كان العدد العشري الذي استدعي معه عددًا عشريًّا غير صالح وفقًا لمعيار IEEE.
negative?
يتحقق إن كان العدد العشري الذي استُدعي معه عددًا سالبًا.
next_float
يعيد العدد العشري الذي يلي العدد العشري الذي استُدعي معه.
numerator
يعيد البسط للعد الكسري الذي استدعي معه.
phase
يعيد القيمة 0
إن كان العدد العشري الذي استُدعي معه موجبًا، أو يعيد القيمة pi
خلاف ذلك.
positive?
يتحقق إن كان العدد العشري الذي استُدعي معه عددًا موجبًا.
prev_float
يعيد العدد العشري الذي يسبق العدد العشري الذي استُدعي معه.
quo
يعيد ناتج قسم العدد العشري المستدعى معه على العدد العشري المُمرَّر إليه.
rationalize
يعيد قيمة تقريبة بسيطة (flt-|eps| <= result <= flt+|eps|
) للعدد العشري الذي استدعي معه.
round
يقرِّب العدد الذي استُدعي معه إلى أقرب قيمة بدقة محدَّدة.
to_f
يعيد العدد العشري الذي استدعي معه نفسه.
to_i
يحول العدد العشري الذي استُدعي معه إلى عدد صحيح.
to_int
يحول العدد العشري الذي استُدعي معه إلى عدد صحيح.
to_r
يحول العدد العشري الذي استُدعي معه إلى عدد جذري (rational).
to_s
يحول العدد العشري الذي استدعي معه إلى سلسلة نصية.
truncate
يعيد العدد العشري الذي استُدعي معه بعد اقتطاعه إلى دقة (precision) محدَّدة.
zero?
يتحقق إن كانت قيمة العدد العشري الذي استُدعي معه تساوي الصفر.