الفرق بين المراجعتين ل"Ruby/Float/prev float"
اذهب إلى التنقل
اذهب إلى البحث
جميل-بيلوني (نقاش | مساهمات) (إنشاء الصفحة.) |
جميل-بيلوني (نقاش | مساهمات) ط (←انظر أيضا) |
||
(مراجعة متوسطة واحدة بواسطة نفس المستخدم غير معروضة) | |||
سطر 3: | سطر 3: | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
[[تصنيف: Ruby Float]] | [[تصنيف: Ruby Float]] | ||
− | يعيد التابع <code>prev_float</code> العدد | + | يعيد التابع <code>prev_float</code> العدد العشري الذي يسبق العدد العشري الذي استُدعي معه. |
+ | |||
+ | يعيد استدعاء التابع <code>prev_float</code> مع القيمة <code>((-Float::MAX</code> والقيمة <code>(Float::INFINITY-)</code> القيمة الثابتة <code>-Float::INFINITY</code>. ويعيد استدعاء التابع بالشكل <code>Float::NAN.prev_float</code> القيمة <code>Float::NAN</code>. | ||
==البنية العامة== | ==البنية العامة== | ||
− | <syntaxhighlight lang="ruby"> | + | <syntaxhighlight lang="ruby">prev_float → float</syntaxhighlight> |
==القيمة المعادة== | ==القيمة المعادة== | ||
− | يعاد العدد السابق | + | يعاد العدد العشري السابق للعدد العشري المعطى. |
==أمثلة== | ==أمثلة== | ||
− | مثال على استخدام التابع <code> | + | مثال على استخدام التابع <code>prev_float</code>: |
− | <syntaxhighlight lang="ruby">1. | + | <syntaxhighlight lang="ruby">0.01.prev_float #=> 0.009999999999999998 |
− | + | 1.0.prev_float #=> 0.9999999999999999 | |
− | + | 100.0.prev_float #=> 99.99999999999999 | |
+ | |||
+ | 0.01 - 0.01.prev_float #=> 1.734723475976807e-18 | ||
+ | 1.0 - 1.0.prev_float #=> 1.1102230246251565e-16 | ||
+ | 100.0 - 100.0.prev_float #=> 1.4210854715202004e-14 | ||
+ | |||
+ | f = 0.01; 20.times { printf "%-20a %s\n", f, f.to_s; f = f.prev_float } | ||
+ | #=> 0x1.47ae147ae147bp-7 0.01 | ||
+ | # 0x1.47ae147ae147ap-7 0.009999999999999998 | ||
+ | # 0x1.47ae147ae1479p-7 0.009999999999999997 | ||
+ | # 0x1.47ae147ae1478p-7 0.009999999999999995 | ||
+ | # 0x1.47ae147ae1477p-7 0.009999999999999993 | ||
+ | # 0x1.47ae147ae1476p-7 0.009999999999999992 | ||
+ | # 0x1.47ae147ae1475p-7 0.00999999999999999 | ||
+ | # 0x1.47ae147ae1474p-7 0.009999999999999988 | ||
+ | # 0x1.47ae147ae1473p-7 0.009999999999999986 | ||
+ | # 0x1.47ae147ae1472p-7 0.009999999999999985 | ||
+ | # 0x1.47ae147ae1471p-7 0.009999999999999983 | ||
+ | # 0x1.47ae147ae147p-7 0.009999999999999981 | ||
+ | # 0x1.47ae147ae146fp-7 0.00999999999999998 | ||
+ | # 0x1.47ae147ae146ep-7 0.009999999999999978 | ||
+ | # 0x1.47ae147ae146dp-7 0.009999999999999976 | ||
+ | # 0x1.47ae147ae146cp-7 0.009999999999999974 | ||
+ | # 0x1.47ae147ae146bp-7 0.009999999999999972 | ||
+ | # 0x1.47ae147ae146ap-7 0.00999999999999997 | ||
+ | # 0x1.47ae147ae1469p-7 0.009999999999999969 | ||
+ | # 0x1.47ae147ae1468p-7 0.009999999999999967</syntaxhighlight> | ||
==انظر أيضا== | ==انظر أيضا== | ||
− | * التابع <code>[[Ruby/Float/next| | + | * التابع <code>[[Ruby/Float/next float|next_float]]</code>: يعيد العدد العشري الذي يلي العدد العشري الذي استُدعي معه. |
==مصادر== | ==مصادر== | ||
− | *[http://ruby-doc.org/core-2.5.1/ | + | *[http://ruby-doc.org/core-2.5.1/Float.html#method-i-prev_float قسم التابع prev_float في الصنف Float في توثيق روبي الرسمي.] |
المراجعة الحالية بتاريخ 07:27، 24 نوفمبر 2018
يعيد التابع prev_float
العدد العشري الذي يسبق العدد العشري الذي استُدعي معه.
يعيد استدعاء التابع prev_float
مع القيمة ((-Float::MAX
والقيمة (Float::INFINITY-)
القيمة الثابتة -Float::INFINITY
. ويعيد استدعاء التابع بالشكل Float::NAN.prev_float
القيمة Float::NAN
.
البنية العامة
prev_float → float
القيمة المعادة
يعاد العدد العشري السابق للعدد العشري المعطى.
أمثلة
مثال على استخدام التابع prev_float
:
0.01.prev_float #=> 0.009999999999999998
1.0.prev_float #=> 0.9999999999999999
100.0.prev_float #=> 99.99999999999999
0.01 - 0.01.prev_float #=> 1.734723475976807e-18
1.0 - 1.0.prev_float #=> 1.1102230246251565e-16
100.0 - 100.0.prev_float #=> 1.4210854715202004e-14
f = 0.01; 20.times { printf "%-20a %s\n", f, f.to_s; f = f.prev_float }
#=> 0x1.47ae147ae147bp-7 0.01
# 0x1.47ae147ae147ap-7 0.009999999999999998
# 0x1.47ae147ae1479p-7 0.009999999999999997
# 0x1.47ae147ae1478p-7 0.009999999999999995
# 0x1.47ae147ae1477p-7 0.009999999999999993
# 0x1.47ae147ae1476p-7 0.009999999999999992
# 0x1.47ae147ae1475p-7 0.00999999999999999
# 0x1.47ae147ae1474p-7 0.009999999999999988
# 0x1.47ae147ae1473p-7 0.009999999999999986
# 0x1.47ae147ae1472p-7 0.009999999999999985
# 0x1.47ae147ae1471p-7 0.009999999999999983
# 0x1.47ae147ae147p-7 0.009999999999999981
# 0x1.47ae147ae146fp-7 0.00999999999999998
# 0x1.47ae147ae146ep-7 0.009999999999999978
# 0x1.47ae147ae146dp-7 0.009999999999999976
# 0x1.47ae147ae146cp-7 0.009999999999999974
# 0x1.47ae147ae146bp-7 0.009999999999999972
# 0x1.47ae147ae146ap-7 0.00999999999999997
# 0x1.47ae147ae1469p-7 0.009999999999999969
# 0x1.47ae147ae1468p-7 0.009999999999999967
انظر أيضا
- التابع
next_float
: يعيد العدد العشري الذي يلي العدد العشري الذي استُدعي معه.