Ruby/Справочник/Float: различия между версиями

Содержимое удалено Содержимое добавлено
Нет описания правки
Нет описания правки
Строка 1:
==Класс Float < Numeric==
Объекты класса <tt>Float</tt> представляют собой дробные числа с плавающей точкой двойной точности (аналог типа double в [[w:Язык программирования Си|языке Си]]. Иначе говоря, объекты класса <tt>Float</tt> - [[w:Вещественное число|вещественные числа]].
<tt>Float</tt> objects represent real numbers using the native architecture's double-precision floating point representation.
----
 
Строка 17:
'''Методы объекта'''
 
[[#Float#%|%]], [[#Float#**|**]], [[#Float#*|*]], [[#Float#+|+]], [[#Float#-@|-@]], [[#Float#-|-]], [[#Float#/|/]], [[#Float#&lt;=&gt;->|&lt;=&gt;->]], [[#Float#&lt;=|&lt;=]], [[#Float#&lt;|&lt;]], [[#Float#==|==]], [[#Float#&gt;=|&gt;=]], [[#Float#&gt;|&gt;]], [[#Float#abs|abs]], [[#Float#ceil|ceil]], [[#Float#coerce|coerce]], [[#Float#divmod|divmod]], [[#Float#eql?|eql?]], [[#Float#finite?|finite?]], [[#Float#floor|floor]], [[#Float#hash|hash]], [[#Float#infinite?|infinite?]], [[#Float#modulo|modulo]], [[#Float#nan?|nan?]], [[#Float#round|round]], [[#Float#to_f|to_f]], [[#Float#to_int|to_int]], [[#Float#to_i|to_i]], [[#Float#to_s|to_s]], [[#Float#to_yaml|to_yaml]], [[#Float#truncate|truncate]], [[#Float#zero?|zero?]]
===Float::induced_from===
----
<ttsource lang=ruby>Float.induced_from(obj) =&gt;#-> float</ttsource>
----
Преобразует ''obj'' в вещественное число.
Convert <tt>obj</tt> to a float.
===Float#%===
----
<ttsource lang=ruby>flt % other =&gt;#-> float
flt.modulo(other) =&gt;#-> float</ttsource>
----
Возвращает остаток от деления числа ''flt'' на число ''other''.
Return the modulo after division of <tt>flt</tt> by <tt>other</tt>.
<codesource lang=ruby>6543.21.modulo( % 137) #=&gt;-> 104.21
6543.21.modulo( % 137.24) #=-> 92.9299999999996</codesource>
{{Идентичные методы|Float|%|modulo}}
===Float#*===
----
<source <ttlang=ruby>floatflt * other =&gt;#-> float</ttsource>
----
Возвращает вещественное число, которое является результатом произведения ''flt'' на ''other''.
Returns a new float which is the product of <tt>float</tt> and <tt>other</tt>.
{{Похожие методы|Float|**|+|-|/|%}}
===Float#**===
----
<codesource lang=ruby>flt ** other =&gt;#-> float</codesource>
----
Возвращает вещественное число, которое является результатом возведения числа ''flt'' в степень ''other''.
<code>flt ** other =&gt; float</code>
{{Похожие методы|Float|*|+|-|/|%}}
Raises <tt>float</tt> the <tt>other</tt> power.
===Float#+===
----
<source <ttlang=ruby>floatflt + other =&gt;#-> float</ttsource>
----
Возвращает вещественное число, которое является суммой чисел ''flt'' и ''other''.
Returns a new float which is the sum of <tt>float</tt> and <tt>other</tt>.
{{Похожие методы|Float|**|*|-|/|%}}
===Float#-===
----
<source <ttlang=ruby>floatflt +- other =&gt;#-> float</ttsource>
----
Возвращает вещественное число, которое является разностью чисел ''flt'' и ''other''.
Returns a new float which is the difference of <tt>float</tt> and <tt>other</tt>.
{{Похожие методы|Float|**|+|*|/|%}}
===Float#-@===
----
<ttsource lang=ruby>-floatflt =&gt;#-> float</ttsource>
----
Возвращает вещественное число, обратное по знаку (по отношению к ''flt'').
Returns float, negated.
===Float#/===
----
<ttsource lang=ruby>float / other =&gt;#-> float</ttsource>
----
Возвращает вещественное число, которое является частным чисел ''flt'' и ''other''.
Returns a new float which is the result of dividing <tt>float</tt> by <tt>other</tt>.
{{Похожие методы|Float|**|+|-|*|%}}
===Float#<===
----
<ttsource lang=ruby>flt &lt;< other =&gt;#-> true orили false</ttsource>
----
Возвращает <tt>true</tt>, ifесли <tt>число ''flt</tt>'' isменьше, lessчем thanчисло <tt>''other</tt>''.
===Float#<====
----
<ttsource lang=ruby>flt &lt;<= other =&gt;#-> true or false</ttsource>
----
Возвращает <tt>true</tt>, ifесли <tt>число ''flt</tt>'' isменьше lessили thanравно orпо equalотношению toк <tt>числу ''other</tt>''.
===Float#<=>===
----
<ttsource lang=ruby>flt &lt;<=&gt;> numeric =&gt;#-> -1, 0, +1</ttsource>
----
Возвращает -1, 0 или +1, когда число ''flt'' меньше, равно или больше числа ''numeric'', соотвественно. Этот метод необходим для нормальной работы примеси [[Ruby/Справочник/Comparable|Comparable]].
Returns -1, 0, or +1 depending on whether <i>flt</i> is less than, equal to, or greater than <i>numeric</i>. This is the basis for the tests in <tt>Comparable</tt>.
===Float#=====
----
<ttsource lang=ruby>flt == obj =&gt;#-> true orили false</ttsource>
----
Возвращает <tt>true</tt> только если число ''obj'' имеет точно такое же значение, как и число ''flt''. В отличие от метода [[#Float#eql?|eql?]], преобразует ''obj'' в вещественное число.
Returns <tt>true</tt> only if <i>obj</i> has the same value as <i>flt</i>. Contrast this with <tt>Float#eql?</tt>, which requires <i>obj</i> to be a <tt>Float</tt>.
<source <codelang=ruby>1.0 == 1 #=&gt;-> true</codesource>
===Float#>===
----
<ttsource lang=ruby>flt &gt;> other =&gt;#-> true orили false</ttsource>
----
Возвращает <tt>true</tt>, ifесли <tt>число ''flt</tt>'' isбольше, greaterчем thanчисло <tt>''other</tt>''.
===Float#>====
----
<ttsource lang=ruby>flt &gt;>= other =&gt;#-> true orили false</ttsource>
----
Возвращает <tt>true</tt>, ifесли <tt>число ''flt</tt>'' isбольше greaterили thanравно orпо equalотношению toк <tt>числу ''other</tt>''.
===Float#abs===
----
<ttsource lang=ruby>flt.abs =&gt;#-> float</ttsource>
----
Возвращает [[w:Абсолютная величина|абсолютную величину]] числа ''flt''.
Returns the absolute value of <i>flt</i>.
<codesource lang=ruby>(-34.56).abs #=&gt;-> 34.56
-34.56.abs #=-> 34.56</codesource>
===Float#ceil===
----
<ttsource lang=ruby>flt.ceil =&gt;#-> integer</ttsource>
----
Возвращает наименьшее [[Ruby/Справочник/Integer|целое число]] большее или равное числу ''flt''.
Returns the smallest <tt>Integer</tt> greater than or equal to <i>flt</i>.
<source <codelang=ruby>1.2.ceil #=&gt;-> 2
2.0.ceil #=-> 2
(-1.2).ceil #=-> -1
(-2.0).ceil #=-> -2</codesource>
{{Похожие методы|Float|floor|round|truncate}}
===Float#coerce===
----
<ttsource lang=ruby>flt.coerce(p1other) #-> array</ttsource>
----
Возвращает массив, состоящий из чисел ''other'' и ''flt'', которые преобразованы к вещественному типу. Этот метод используется при обработке арифметических операций со смешанными типами.
MISSING: documentation
<source lang=ruby>1.2.coerce(3) #-> [3.0, 1.2]
1.0.coerce(2.0) #-> [2.0, 1.0]</source>
===Float#divmod===
----
<ttsource lang=ruby>flt.divmod(numeric) =&gt;#-> array</ttsource>
----
См. описание метода [[Ruby/Справочник/Numeric#Numeric#divmod|Numeric#divmod]].
See <tt>Numeric#divmod</tt>.
===Float#eql?===
----
<ttsource lang=ruby>flt.eql?(obj) =&gt;#-> true orили false</ttsource>
----
Возвращает <tt>true</tt>, если ''obj'' является вещественным числом и имеет значение равное ''flt''. В отличие от метода [[#Float#==|==]], преобразований типов не производится.
Returns <tt>true</tt> only if <i>obj</i> is a <tt>Float</tt> with the same value as <i>flt</i>. Contrast this with <tt>Float#==</tt>, which performs type conversions.
<source <codelang=ruby>1.0.eql?(1) #=&gt;-> false</codesource>
===Float#finite?===
----
<ttsource lang=ruby>flt.finite? #-&gt;> true orили false</ttsource>
----
Возвращает <tt>true</tt>, если ''flt'' является правильным вещественным числом по стандартам [[w:Институт инженеров электротехники и электроники|IEEE]] (то есть не является [[w:Бесконечность|бесконечностью]] и метод [[#Float#nan|nan?]] возвращает <tt>false</tt>).
Returns <tt>true</tt> if <i>flt</i> is a valid IEEE floating point number (it is not infinite, and <tt>nan?</tt> is <tt>false</tt>).
===Float#floor===
----
<ttsource lang=ruby>flt.floor =&gt; #-> integer</ttsource>
----
Возвращает наибольшее целое, меньшее или равное ''flt''.
Returns the largest integer less than or equal to <i>flt</i>.
<source <codelang=ruby>1.2.floor #=&gt;-> 1
2.0.floor #=-> 2
(-1.2).floor #=-> -2
(-2.0).floor #=-> -2</codesource>
{{Похожие методы|Float|ceil|round|truncate}}
===Float#hash===
----
<ttsource lang=ruby>flt.hash =&gt; #-> integer</ttsource>
----
Возвращает [[w:Хеширование|хеш-код]] вещественного числа ''flt''.
Returns a hash code for this float.
===Float#infinite?===
----
<ttsource lang=ruby>flt.infinite? #-&gt;> nil, -1, +1</ttsource>
----
Возвращает <tt>nil</tt>, -1 или +1, если вещественное число ''flt'' конечно, устремлено в <math>+\infty</math> или в <math>-\infty</math>, соотвественно.
Returns <tt>nil</tt>, -1, or +1 depending on whether <i>flt</i> is finite, -infinity, or +infinity.
<source <codelang=ruby>(0.0).infinite? #=&gt;-> nil
(-1.0/0.0).infinite? #=-> -1
(+1.0/0.0).infinite? #=-> 1</codesource>
===Float#modulo===
----
<ttsource lang=ruby>flt % other =&gt;#-> float
flt.modulo(other) =&gt;#-> float</ttsource>
----
Возвращает остаток от деления числа ''flt'' на число ''other''.
Return the modulo after division of <tt>flt</tt> by <tt>other</tt>.
<source <codelang=ruby>6543.21.modulo(137) #=&gt;-> 104.21
6543.21.modulo(137.24) #=-> 92.9299999999996</codesource>
===Float#nan?===
----
<ttsource lang=ruby>flt.nan? -&gt;> true orили false</ttsource>
----
Возвращает <tt>true</tt>, если число ''flt'' не удовлетворяет стандарту [[w:Институт инженеров электротехники и электроники|IEEE]] на вещественные числа.
Returns <tt>true</tt> if <i>flt</i> is an invalid IEEE floating point number.
<codesource lang=ruby>a = -1.0 #=&gt;-> -1.0
a.nan? #=-> false
a = 0.0/0.0 #=-> NaN
a.nan? #=-> true</codesource>
===Float#round===
----
<ttsource lang=ruby>flt.round =&gt;#-> integer</ttsource>
----
Возвращает ближайшее целое число к вещественному числу ''flt''. Метод эквивалентен следующей записи:
Rounds <i>flt</i> to the nearest integer. Equivalent to:
<source <codelang=ruby>def round
return floor(self+0.5) if self > 0.0
return ceil(self-0.5) if self < 0.0
return 0.0
end
 
1.5.round #=-> 2
(-1.5).round #=-> -2</codesource>
{{Похожие методы|Float|floor|ceil|truncate}}
===Float#to_f===
----
<ttsource lang=ruby>flt.to_f =&gt;#-> flt</ttsource>
----
Так как ''ftl'' уже является вещественным числом, то данный метод всегда возвращает ''ftl''.
As <tt>flt</tt> is already a float, returns <i>self</i>.
===Float#to_i===
----
<ttsource lang=ruby>flt.to_i =&gt;#-> integer
flt.to_int =&gt;#-> integer
</tt><tt>flt.truncate =&gt;#-> integer</ttsource>
----
Возвращает целое число, которое является целой частью вещественного числа ''flt''.
Returns <i>flt</i> truncated to an <tt>Integer</tt>.
{{Идентичные методы|Float|to_i|to_int|truncate}}
===Float#to_int===
----
<ttsource lang=ruby>flt.to_i =&gt;#-> integer
flt.to_int =&gt;#-> integer
</tt><tt> flt.truncate =&gt;#-> integer</ttsource>
----
Возвращает целое число, которое является целой частью вещественного числа ''flt''.
Returns <i>flt</i> truncated to an <tt>Integer</tt>.
{{Идентичные методы|Float|to_i|to_int|truncate}}
===Float#to_s===
----
<ttsource lang=ruby>flt.to_s =&gt;#-> string</ttsource>
----
Возвращает строку, которая содержит строковое представление вещественного числа ''flt''. Число ''flt'' может быть представлено как в обычной, так и в экспоненциальной форме записи, а также иметь значения <tt>NaN</tt>, <tt>Infinity</tt>, <tt>-Infinity</tt>.
Returns a string containing a representation of self. As well as a fixed or exponential form of the number, the call may return ``<tt>NaN</tt>'', ``<tt>Infinity</tt>'', and ``<tt>-Infinity</tt>''.
===Float#truncate===
----
<ttsource lang=ruby>flt.to_i =&gt;#-> integer
flt.to_int =&gt;#-> integer
</tt><tt>flt.truncate =&gt;#-> integer</ttsource>
----
Возвращает целое число, которое является целой частью вещественного числа ''flt''.
Returns <i>flt</i> truncated to an <tt>Integer</tt>.
{{Похожие методы|Float|floor|round|ceil}}
{{Идентичные методы|Float|to_i|to_int|truncate}}
===Float#zero?===
----
<ttsource lang=ruby>flt.zero? -&gt;> true orили false</ttsource>
----
ReturnsВозвращает <tt>true</tt>, ifесли <i>вещественное число ''flt</i>'' является isчислом 0.0.