Spec-Zone .ru
спецификации, руководства, описания, API
|
public final class Float extends Number implements Comparable<Float>
Float
класс обертывает значение типа примитива float
в объекте. Объект типа Float
содержит единственное поле, тип которого float
. Кроме того, этот класс обеспечивает несколько методов для того, чтобы они преобразовали a float
к a String
и a String
к a float
, так же как другие константы и методы, полезные, имея дело с a float
.
Модификатор и Тип | Поле и Описание |
---|---|
static int |
MAX_EXPONENT
Максимальная экспонента конечное
float переменная может иметь. |
static float |
MAX_VALUE
Постоянное содержание самое большое положительное конечное значение типа
float , (2-2-23)·2127. |
static int |
MIN_EXPONENT
Минимальная экспонента нормализованный
float переменная может иметь. |
static float |
MIN_NORMAL
Постоянное содержание самое маленькое положительное нормальное значение типа
float , 2-126. |
static float |
MIN_VALUE
Постоянное содержание самое маленькое положительное ненулевое значение типа
float , 2-149. |
static float |
НЭН
Постоянное содержание Не-число (НЭН) значение типа
float . |
static float |
NEGATIVE_INFINITY
Постоянное содержание отрицательная бесконечность типа
float . |
static float |
POSITIVE_INFINITY
Постоянное содержание положительная бесконечность типа
float . |
static int |
РАЗМЕР
Число битов, используемых, чтобы представить a
float значение. |
static Class<Float> |
ВВЕСТИ
Class экземпляр, представляющий тип примитива float . |
Конструктор и Описание |
---|
Float(double value)
Создает недавно выделенный
Float объект, который представляет параметр, преобразованный в тип float . |
Float(float value)
Создает недавно выделенный
Float объект, который представляет примитив float параметр. |
Float(String s)
Создает недавно выделенный
Float объект, который представляет значение с плавающей точкой типа float представленный строкой. |
Модификатор и Тип | Метод и Описание |
---|---|
byte |
byteValue()
Возвращает значение этого
Float как a byte (бросая к a byte ). |
static int |
compare(float f1, float f2)
Сравнивает эти определенные два
float значения. |
int |
compareTo(Float anotherFloat)
Сравнивается два
Float объекты в цифровой форме. |
double |
doubleValue()
Возвраты
double значение этого Float объект. |
boolean |
equals(Object obj)
Сравнивает этот объект с указанным объектом.
|
static int |
floatToIntBits(float value)
Возвращает представление указанного значения с плавающей точкой согласно IEEE 754 "единственный формат с плавающей точкой" разрядное расположение.
|
static int |
floatToRawIntBits(float value)
Возвращает представление указанного значения с плавающей точкой согласно IEEE 754 "единственный формат с плавающей точкой" разрядное расположение, сохраняя Не-число (НЭН) значения.
|
float |
floatValue()
Возвраты
float значение этого Float объект. |
int |
hashCode()
Возвращает хэш-код для этого
Float объект. |
static float |
intBitsToFloat(int bits)
Возвраты
float значение, соответствующее данному разрядному представлению. |
int |
intValue()
Возвращает значение этого
Float как int (бросая, чтобы ввести int ). |
boolean |
isInfinite()
Возвраты
true если это Float значение является бесконечно большим в величине, false иначе. |
static boolean |
isInfinite(float v)
Возвраты
true если конкретное количество является бесконечно большим в величине, false иначе. |
boolean |
isNaN()
Возвраты
true если это Float значение является Не-числом (НЭН), false иначе. |
static boolean |
isNaN(float v)
Возвраты
true если конкретное количество является Не-числом (НЭН) значение, false иначе. |
long |
longValue()
Значение возвратов этого
Float как a long (бросая, чтобы ввести long ). |
static float |
parseFloat(String s)
Возвращает новое
float инициализированный к значению представляется указанным String , как выполняющийся valueOf метод класса Float . |
short |
shortValue()
Возвращает значение этого
Float как a short (бросая к a short ). |
static String |
toHexString(float f)
Возвращает шестнадцатеричное строковое представление
float параметр. |
Строка |
toString()
Возвращает строковое представление этого
Float объект. |
static String |
toString(float f)
Возвращает строковое представление
float параметр. |
static Float |
valueOf(float f)
Возвраты a
Float экземпляр, представляющий указанное float значение. |
static Float |
valueOf(String s)
Возвраты a
Float объект, содержащий float значение представляется строкой параметра s . |
public static final float POSITIVE_INFINITY
float
. Это равно значению, возвращенному Float.intBitsToFloat(0x7f800000)
.public static final float NEGATIVE_INFINITY
float
. Это равно значению, возвращенному Float.intBitsToFloat(0xff800000)
.public static final float NaN
float
. Это эквивалентно значению, возвращенному Float.intBitsToFloat(0x7fc00000)
.public static final float MAX_VALUE
float
, (2-2-23) · 2127. Это равно шестнадцатеричному литералу с плавающей точкой 0x1.fffffeP+127f
и также равный Float.intBitsToFloat(0x7f7fffff)
.public static final float MIN_NORMAL
float
, 2-126. Это равно шестнадцатеричному литералу с плавающей точкой 0x1.0p-126f
и также равный Float.intBitsToFloat(0x00800000)
.public static final float MIN_VALUE
float
, 2-149. Это равно шестнадцатеричному литералу с плавающей точкой 0x0.000002P-126f
и также равный Float.intBitsToFloat(0x1)
.public static final int MAX_EXPONENT
float
переменная может иметь. Это равно значению, возвращенному Math.getExponent(Float.MAX_VALUE)
.public static final int MIN_EXPONENT
float
переменная может иметь. Это равно значению, возвращенному Math.getExponent(Float.MIN_NORMAL)
.public static final int SIZE
float
значение.public Float(float value)
Float
объект, который представляет примитив float
параметр.value
- значение, которое будет представлено Float
.public Float(double value)
Float
объект, который представляет параметр, преобразованный в тип float
.value
- значение, которое будет представлено Float
.public Float(String s) throws NumberFormatException
Float
объект, который представляет значение с плавающей точкой типа float
представленный строкой. Строка преобразовывается в a float
оцените как будто valueOf
метод.s
- строка, которая будет преобразована в a Float
.NumberFormatException
- если строка не содержит parsable число.valueOf(java.lang.String)
public static String toString(float f)
float
параметр. Все символы, упомянутые ниже, являются символами ASCII. NaN
". -
' ('\u002D'
); если знак положителен, никакой символ знака не появляется в результате. Что касается величины м.: "Infinity"
; таким образом положительная бесконечность приводит к результату "Infinity"
и отрицательная бесконечность приводит к результату "-Infinity"
. "0.0"
; таким образом отрицательный нуль приводит к результату "-0.0"
и положительный нуль приводит к результату "0.0"
. .
' ('\u002E'
), сопровождаемый одной или более десятичными цифрами, представляющими дробную часть м. .
' ('\u002E'
), сопровождаемый десятичными цифрами, представляющими дробную часть a, сопровождаемого буквой'E
' ('\u0045'
), сопровождаемый представлением n как десятичное целое число, как произведено методом Integer.toString(int)
. float
. Таким образом, предположите, что x является точным математическим значением, представленным десятичным представлением, произведенным этим методом для конечного ненулевого параметра f. Затем f должен быть float
оцените самый близкий x; или, если два float
значения одинаково близко к x, тогда f должен быть одним из них, и младший значащий бит мантиссы f должен быть 0
. Чтобы создать локализованные строковые представления значения с плавающей точкой, используйте подклассы NumberFormat
.
f
- плавание, которое будет преобразовано.public static String toHexString(float f)
float
параметр. Все символы, упомянутые ниже, являются символами ASCII. NaN
". -
' ('\u002D'
); если знак положителен, никакой символ знака не появляется в результате. Что касается величины м.: "Infinity"
; таким образом положительная бесконечность приводит к результату "Infinity"
и отрицательная бесконечность приводит к результату "-Infinity"
. "0x0.0p0"
; таким образом отрицательный нуль приводит к результату "-0x0.0p0"
и положительный нуль приводит к результату "0x0.0p0"
. float
значение с нормализованным представлением, подстроки используются, чтобы представить поля экспоненты и мантисса. Мантисса представляется символами "0x1."
сопровождаемый строчным шестнадцатеричным представлением остальной части мантиссы как часть. Конечные нули в шестнадцатеричном представлении удаляются, если все цифры не являются нулем, когда используется единственный нуль. Затем, экспонента представляется "p"
сопровождаемый десятичной строкой несмещенной экспоненты, как будто произведенный звонком Integer.toString
на значении экспоненты. float
значение с субнормальным представлением, мантисса представляется символами "0x0."
сопровождаемый шестнадцатеричным представлением остальной части мантиссы как часть. Конечные нули в шестнадцатеричном представлении удаляются. Затем, экспонента представляется "p-126"
. Отметьте, что должна быть по крайней мере одна ненулевая цифра в субнормальной мантиссе. Значение с плавающей точкой | Шестнадцатеричная Строка |
---|---|
1.0 | 0x1.0p0 |
-1.0 | -0x1.0p0 |
2.0 | 0x1.0p1 |
3.0 | 0x1.8p1 |
0.5 | 0x1.0p-1 |
0.25 | 0x1.0p-2 |
Float.MAX_VALUE |
0x1.fffffep127 |
Minimum Normal Value |
0x1.0p-126 |
Maximum Subnormal Value |
0x0.fffffep-126 |
Float.MIN_VALUE |
0x0.000002p-126 |
f
- float
быть преобразованным.public static Float valueOf(String s) throws NumberFormatException
Float
объект, содержащий float
значение представляется строкой параметра s
. Если s
null
, тогда a NullPointerException
бросается.
Продвижение и запаздывание пробельных символов в s
игнорируются. Пробел удаляется как будто String.trim()
метод; то есть, и пробелы ASCII и управляющие символы удаляются. Остальная часть s
должен составить FloatValue как описано лексическими правилами синтаксиса:
где Знак, FloatingPointLiteral, HexNumeral, HexDigits, SignedInteger и FloatTypeSuffix как определяются в лексических разделах структуры Спецификации языка Java™, за исключением того, что подчеркивания не принимаются между цифрами. Если
- FloatValue:
- Signopt
NaN
- Signopt
Infinity
- Signopt FloatingPointLiteral
- Signopt HexFloatingPointLiteral
- SignedInteger
- HexFloatingPointLiteral:
- HexSignificand BinaryExponent FloatTypeSuffixopt
- HexSignificand:
- HexNumeral
- HexNumeral
.
0x
HexDigitsopt.
HexDigits0X
HexDigitsopt.
HexDigits
- BinaryExponent:
- BinaryExponentIndicator SignedInteger
- BinaryExponentIndicator:
p
P
s
не имеет формы FloatValue, тогда a NumberFormatException
бросается. Иначе, s
расценивается как представление точного десятичного значения в обычном "компьютеризированном экспоненциальном представлении" или как точное шестнадцатеричное значение; это точное численное значение тогда концептуально преобразовывается в "бесконечно точное" двоичное значение, которое тогда округляется, чтобы ввести float
по обычному правилу раунда-к-самому-близкому IEEE 754 арифметика с плавающей точкой, которая включает сохранение знака нулевого значения. Отметьте, что правило раунда-к-самому-близкому также подразумевает поведение потери значимости и переполнение; если точное значение s
является достаточно большим в величине (больше чем или равный (MAX_VALUE
+ ulp(MAX_VALUE)
/2), округление к float
приведет к бесконечности и если точное значение s
является достаточно маленьким в величине (меньше чем или равный MIN_VALUE
/2), округление, чтобы плавать приведет к нулю. Наконец, после округления a Float
объект, представляющий это float
значение возвращается. Чтобы интерпретировать локализованные строковые представления значения с плавающей точкой, используйте подклассы NumberFormat
.
Отметьте, что запаздывающие спецификаторы формата, спецификаторы, которые определяют тип литерала с плавающей точкой (1.0f
a float
значение; 1.0d
a double
значение), не влияйте на результаты этого метода. Другими словами численное значение строки ввода преобразовывается непосредственно в целевой тип с плавающей точкой. Вообще, двухступенчатая последовательность преобразований, представьте в виде строки к double
сопровождаемый double
к float
, не эквивалентно преобразованию строки непосредственно к float
. Например, если сначала преобразовано в промежуточное звено double
и затем к float
, строка
"1.00000017881393421514957253748434595763683319091796875001d"
результаты в float
значение 1.0000002f
; если строка преобразовывается непосредственно в float
, 1.0000001f
результаты.
Избегать вызывать этот метод на недопустимой строке и иметь a NumberFormatException
будьте брошены, документация для Double.valueOf
перечисляет регулярное выражение, которое может использоваться, чтобы экранировать ввод.
s
- строка, которая будет проанализирована.Float
объект, содержащий значение, представленное String
параметр.NumberFormatException
- если строка не содержит parsable число.public static Float valueOf(float f)
Float
экземпляр, представляющий указанное float
значение. Если новое Float
экземпляр не требуется, этот метод должен обычно использоваться в предпочтении к конструктору Float(float)
, поскольку этот метод, вероятно, приведет к значительно лучшей производительности пространства и времени, кэшируя часто требуемые значения.f
- значение плавающее.Float
представление экземпляра f
.public static float parseFloat(String s) throws NumberFormatException
float
инициализированный к значению представляется указанным String
, как выполняющийся valueOf
метод класса Float
.s
- строка, которая будет проанализирована.float
значение представляется строковым параметром.NullPointerException
- если строка является нулемNumberFormatException
- если строка не содержит parsable float
.valueOf(String)
public static boolean isNaN(float v)
true
если конкретное количество является Не-числом (НЭН) значение, false
иначе.v
- значение, которое будет протестировано.true
если параметром является НЭН; false
иначе.public static boolean isInfinite(float v)
true
если конкретное количество является бесконечно большим в величине, false
иначе.v
- значение, которое будет протестировано.true
если параметром является положительная бесконечность или отрицательная бесконечность; false
иначе.public boolean isNaN()
true
если это Float
значение является Не-числом (НЭН), false
иначе.true
если значением, представленным этим объектом, является НЭН; false
иначе.public boolean isInfinite()
true
если это Float
значение является бесконечно большим в величине, false
иначе.true
если значение, представленное этим объектом, является положительной бесконечностью или отрицательной бесконечностью; false
иначе.public String toString()
Float
объект. Примитив float
значение, представленное этим объектом, преобразовывается в a String
точно, как будто методом toString
из одного параметра.toString
в классе Object
String
представление этого объекта.toString(float)
public byte byteValue()
Float
как a byte
(бросая к a byte
).public short shortValue()
Float
как a short
(бросая к a short
).shortValue
в классе Number
float
значение, представленное этим объектом, преобразованным в тип short
public int intValue()
Float
как int
(бросая, чтобы ввести int
).public long longValue()
Float
как a long
(бросая, чтобы ввести long
).public float floatValue()
float
значение этого Float
объект.floatValue
в классе Number
float
значение представляется этим объектомpublic double doubleValue()
double
значение этого Float
объект.doubleValue
в классе Number
float
значение, представленное этим объектом, преобразовывается в тип double
и результат преобразования возвращается.public int hashCode()
Float
объект. Результатом является целочисленное разрядное представление, точно как произведено методом floatToIntBits(float)
, из примитива float
значение представляется этим Float
объект.hashCode
в классе Object
Object.equals(java.lang.Object)
, System.identityHashCode(java.lang.Object)
public boolean equals(Object obj)
true
если и только если параметр не null
и a Float
объект, который представляет a float
с тем же самым значением как float
представленный этим объектом. С этой целью, два float
значения, как полагают, являются тем же самым если и только если метод floatToIntBits(float)
возвращает идентичное int
оцените когда применено к каждого. Отметьте что в большинстве случаев для двух экземпляров класса Float
, f1
и f2
, значение f1.equals(f2)
true
если и только если
f1.floatValue() == f2.floatValue()
также имеет значение true
. Однако, есть два исключения:
f1
и f2
оба представляют Float.NaN
, тогда equals
возвраты метода true
, даже при том, что Float.NaN==Float.NaN
имеет значение false
. f1
представляет +0.0f
в то время как f2
представляет -0.0f
, или наоборот, equal
у теста есть значение false
, даже при том, что 0.0f==-0.0f
имеет значение true
. equals
в классе Object
obj
- объект, который будет сравненtrue
если объекты являются тем же самым; false
иначе.floatToIntBits(float)
public static int floatToIntBits(float value)
Бит 31 (бит, который выбирается маской 0x80000000
) представляет знак числа с плавающей точкой. Биты 30-23 (биты, которые выбираются маской 0x7f800000
) представьте экспоненту. Биты 22-0 (биты, которые выбираются маской 0x007fffff
) представьте мантиссу (иногда названный мантиссой) числа с плавающей точкой.
Если параметром является положительная бесконечность, результат 0x7f800000
.
Если параметром является отрицательная бесконечность, результат 0xff800000
.
Если параметром является НЭН, результат 0x7fc00000
.
Во всех случаях результатом является целое число что, когда дано intBitsToFloat(int)
метод, произведет значение с плавающей точкой то же самое как параметр floatToIntBits
(кроме всей НЭН значения сворачиваются к единственному "каноническому" значению НЭН).
value
- число с плавающей точкой.public static int floatToRawIntBits(float value)
Бит 31 (бит, который выбирается маской 0x80000000
) представляет знак числа с плавающей точкой. Биты 30-23 (биты, которые выбираются маской 0x7f800000
) представьте экспоненту. Биты 22-0 (биты, которые выбираются маской 0x007fffff
) представьте мантиссу (иногда названный мантиссой) числа с плавающей точкой.
Если параметром является положительная бесконечность, результат 0x7f800000
.
Если параметром является отрицательная бесконечность, результат 0xff800000
.
Если параметром является НЭН, результатом является целое число, представляющее фактическое значение НЭН. В отличие от этого floatToIntBits
метод, floatToRawIntBits
не сворачивает все комбинации двоичных разрядов, кодирующие НЭН к единственному "каноническому" значению НЭН.
Во всех случаях результатом является целое число что, когда дано intBitsToFloat(int)
метод, произведет значение с плавающей точкой то же самое как параметр floatToRawIntBits
.
value
- число с плавающей точкой.public static float intBitsToFloat(int bits)
float
значение, соответствующее данному разрядному представлению. Параметром, как полагают, является представление значения с плавающей точкой согласно IEEE 754 "единственный формат с плавающей точкой" разрядное расположение. Если параметр 0x7f800000
, результатом является положительная бесконечность.
Если параметр 0xff800000
, результатом является отрицательная бесконечность.
Если параметром является какое-либо значение в диапазоне 0x7f800001
через 0x7fffffff
или в диапазоне 0xff800001
через 0xffffffff
, результатом является НЭН. Никакой IEEE 754 работа с плавающей точкой, обеспеченная Java, не может различить два значения НЭН того же самого типа с различными комбинациями двоичных разрядов. Отличные значения НЭН только различимы при помощи Float.floatToRawIntBits
метод.
Во всех других случаях позвольте s, e, и м. быть тремя значениями, которые могут быть вычислены из параметра:
Затем результат с плавающей точкой равняется значению математического выражения s · м. · 2e-150.int s = ((bits >> 31) == 0) ? 1 : -1; int e = ((bits >> 23) & 0xff); int m = (e == 0) ? (bits & 0x7fffff) << 1 : (bits & 0x7fffff) | 0x800000;
Отметьте, что этот метод, возможно, не в состоянии возвратить a float
НЭН с точно той же самой комбинацией двоичных разрядов как int
параметр. IEEE 754 различает два вида NaNs, тихого NaNs и сигнализации NaNs. Различия между двумя видами НЭН обычно не видимы в Java. Арифметические операции при сигнализации NaNs превращают их в тихий NaNs с различным, но часто подобная, комбинация двоичных разрядов. Однако, на некоторых процессорах, просто копируя сигнальную НЭН также выполняет то преобразование. В частности копирование сигнальной НЭН, чтобы возвратить это методу вызова может выполнить это преобразование. Так intBitsToFloat
возможно, не в состоянии возвратить a float
с сигнальной комбинацией двоичных разрядов НЭН. Следовательно, для некоторых int
значения, floatToRawIntBits(intBitsToFloat(start))
возможно, не равняется start
. Кроме того то, какие определенные комбинации двоичных разрядов представляют сигнальный NaNs, является зависимой платформой; хотя все комбинации двоичных разрядов НЭН, тихие или сигнализация, должны быть в диапазоне НЭН, идентифицированном выше.
bits
- целое число.float
значение с плавающей точкой с той же самой комбинацией двоичных разрядов.public int compareTo(Float anotherFloat)
Float
объекты в цифровой форме. Есть два пути, которыми сравнения, выполняемые этим методом, отличаются от выполняемых языком Java числовые операторы сравнения (<, <=, ==, >=, >
) когда применено к примитивный float
значения: Float.NaN
как полагает этот метод, равен себе и больше чем все другой float
значения (включая Float.POSITIVE_INFINITY
). 0.0f
как полагает этот метод, больше чем -0.0f
. Float
объекты, наложенные этим методом, являются непротиворечивыми с, равняется.compareTo
в интерфейсе Comparable<Float>
anotherFloat
- Float
быть сравненным.0
если anotherFloat
в цифровой форме равно этому Float
; значение меньше чем 0
если это Float
в цифровой форме меньше чем anotherFloat
; и значение, больше чем 0
если это Float
в цифровой форме больше чем anotherFloat
.Comparable.compareTo(Object)
public static int compare(float f1, float f2)
float
значения. Знак возвращенного целочисленного значения является тем же самым как тем из целого числа, которое было бы возвращено вызовом: new Float(f1).compareTo(new Float(f2))
f1
- первое float
сравниться.f2
- второе float
сравниться.0
если f1
в цифровой форме равно f2
; значение меньше чем 0
если f1
в цифровой форме меньше чем f2
; и значение, больше чем 0
если f1
в цифровой форме больше чем f2
.
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.