Spec-Zone .ru
спецификации, руководства, описания, API
Содержание | Предыдущий | Следующий | Индекс

20.9 Класс java.lang.Float

public final class Float extends Number {
	public static final float MIN_VALUE = 1.4e-45f;
	public static final float MAX_VALUE = 3.4028235e+38f;
	public static final float NEGATIVE_INFINITY = -1.0f/0.0f;
	public static final float POSITIVE_INFINITY = 1.0f/0.0f;
	public static final float NaN = 0.0f/0.0f;
	public Float(float value);
	public Float(double value);
	public Float(String s)
		throws NumberFormatException;
	public String toString();
	public boolean equals(Object obj);
	public int hashCode();
	public int intValue();
	public long longValue();
	public float floatValue();
	public double doubleValue();
	public static String toString(float f);
	public static Float valueOf(String s)
		throws NullPointerException, NumberFormatException;
	public boolean isNaN();
	public static boolean isNaN(float v);
	public boolean isInfinite();
	public static boolean isInfinite(float v);
	public static int floatToIntBits(float value);
	public static float intBitsToFloat(int bits);
}

20.9.1 public static final float MIN_VALUE = 1.4e-45f;

Постоянная величина этого поля является самым маленьким положительным ненулевым значением типа float. Это равно значению, возвращенному Float.intBitsToFloat(0x1).

20.9.2 public static final float MAX_VALUE = 3.4028235e+38f;

Постоянная величина этого поля является самым большим положительным конечным значением типа float. Это равно значению, возвращенному Float.intBitsToFloat(0x7f7fffff).

20.9.3 public static final float NEGATIVE_INFINITY =
-1.0f/0.0f;

Постоянная величина этого поля является отрицательной бесконечностью типа float. Это равно значению, возвращенному Float.intBitsToFloat(0xff800000).

20.9.4 public static final float POSITIVE_INFINITY =
1.0f/0.0f;

Постоянная величина этого поля является положительной бесконечностью типа float. Это равно значению, возвращенному Float.intBitsToFloat(0x7f800000).

20.9.5 public static final float NaN = 0.0f/0.0f;

Постоянная величина этого поля является значением Не-числа типа float. Это равно значению, возвращенному Float.intBitsToFloat(0x7fc00000).

20.9.6 public Float(float value)

Этот конструктор инициализирует недавно создаваемый Float возразите так, чтобы это представило примитивное значение, которое является параметром.

20.9.7 public Float(double value)

Этот конструктор инициализирует недавно создаваемый Float возразите так, чтобы это представило результат сужения (§5.1.3) параметр от типа double вводить float.

20.9.8 public Float(String s) throws NumberFormatException

Этот конструктор инициализирует недавно создаваемый Float возразите так, чтобы это представило значение с плавающей точкой типа float представленный строкой. Строка преобразовывается в a float значение точно способом, используемым valueOf метод (§20.9.17).

20.9.9 public String toString()

Примитив float значение представляется этим Float объект преобразовывается в строку точно как будто методом toString из одного параметра (§20.9.16).

Переопределения toString метод Object (§20.1.2).

20.9.10 public boolean equals(Object obj)

Результат true если и только если параметр не null и a Float объект, который представляет то же самое float оцените как это Float объект. С этой целью, два float значения, как полагают, являются тем же самым если и только если метод floatToIntBits (§20.9.22) возвращает то же самое int оцените когда применено к каждого. Отметьте это даже при том, что == оператор возвращается false если обоими операндами является НЭН, это equals метод возвратится true если это Float возразите и параметр оба Float объекты, которые представляют НЭН. С другой стороны, даже при том, что == оператор возвращается true если один операнд является положительным нулем, и другой отрицательный нуль, это equals метод возвратится false если это Float возразите и параметр представляют, обнуляет различного знака. Это определение позволяет хеш-таблицам работать должным образом.

Переопределения equals метод Object (§20.1.3).

20.9.11 public int hashCode()

Результатом является целочисленное разрядное представление, точно как произведено методом floatToIntBits (§20.9.22), примитива float значение представляется этим Float объект.

Переопределения hashCode метод Object (§20.1.4).

20.9.12 public int intValue()

float значение представляется этим Float объект преобразовывается (§5.1.3), чтобы ввести int и результат преобразования возвращается.

Переопределения intValue метод Number (§20.6.1).

20.9.13 public long longValue()

float значение представляется этим Float объект преобразовывается (§5.1.3), чтобы ввести long и результат преобразования возвращается.

Переопределения longValue метод Number (§20.6.2).

20.9.14 public float floatValue()

float значение представляется этим Float объект возвращается.

Переопределения floatValue метод Number (§20.6.3).

20.9.15 public double doubleValue()

float значение представляется этим Float объект преобразовывается (§5.1.2), чтобы ввести double и результат преобразования возвращается.

Переопределения doubleValue метод Number (§20.6.4).

20.9.16 public static String toString(float f)

Параметр преобразовывается в читаемый строковый формат следующим образом. Все символы и символы в строках, упомянутых ниже, являются символами ASCII.

Сколько цифр должно быть напечатано для дробной части м. или a? Должна быть по крайней мере одна цифра, чтобы представить дробную часть, и кроме того так многих, но только так многих, больше цифр, как необходимы, чтобы уникально отличить значение аргумента от смежных значений типа float. Таким образом, предположите, что x является точным математическим значением, представленным десятичным представлением, произведенным этим методом для конечного ненулевого параметра f. Затем f должен быть float оцените самый близкий x; или, если два float значения одинаково близко к x, тогда f должен быть одним из них, и младший значащий бит мантиссы f должен быть 0.

[Эта спецификация для метода toString планируется для введения в версии 1.1 Java. В предыдущих версиях Java этот метод производит Inf вместо Infinity для бесконечных значений. Кроме того, это представляет конечные значения в той же самой форме как %g формат printf функция в языке программирования C, который может потерять точность, потому что это производит самое большее шесть цифр после десятичной точки.]

20.9.17 public static Float valueOf(String s)
throws NullPointerException, NumberFormatException

Строка s интерпретируется как представление значения с плавающей точкой и a Float объект, представляющий то значение, создается и возвращается.

Если s null, тогда a NullPointerException бросается.

Продвижение и запаздывание пробела (§20.5.19) символы в s игнорируются. Остальная часть s должен составить FloatValue как описано лексическими правилами синтаксиса:

где Знак, Цифры, и ExponentPart как определяются в §3.10.2. Если у этого нет формы FloatValue, то a NumberFormatException бросается. Иначе, это расценивается как представление точного десятичного значения в обычном "компьютеризированном экспоненциальном представлении"; это точное десятичное значение тогда концептуально преобразовывается в "бесконечно точное" двоичное значение, которое тогда округляется, чтобы ввести float по обычному правилу раунда-к-самому-близкому IEEE 754 арифметика с плавающей точкой. Наконец, новый объект класса Float создается, чтобы представить это float значение.

Не отметьте это ни один F ни f разрешается появиться в s как индикатор типа, как был бы разрешен в исходном коде Java (§3.10.1).

20.9.18 public boolean isNaN()

Результат true если и только если значение представляется этим Float объектом является НЭН.

20.9.19 public static boolean isNaN(float v)

Результат true если и только если значением параметра является НЭН.

20.9.20 public boolean isInfinite()

Результат true если и только если значение представляется этим Float объект является положительной бесконечностью или отрицательной бесконечностью.

20.9.21 public static boolean isInfinite(float v)

Результат true если и только если значение параметра является положительной бесконечностью или отрицательной бесконечностью.

20.9.22 public static int floatToIntBits(float value)

Результатом является представление параметра с плавающей точкой согласно IEEE 754 "единственный формат с плавающей точкой" разрядное расположение:

Во всех случаях результатом является целое число что, когда дано intBitsToFloat метод (§20.9.23), произведет значение с плавающей точкой, равное параметру floatToIntBits.

20.9.23 public static float intBitsToFloat(int bits)

Параметром, как полагают, является представление значения с плавающей точкой согласно IEEE 754 "единственный формат с плавающей точкой" разрядное расположение. То значение с плавающей точкой возвращается как результат.


int s = ((bits >> 31) == 0) ? 1 : -1;
int e = ((bits >> 23) & 0xff);
int m = (e == 0) ?
		(bits & 0x7fffff) << 1 :
		(bits & 0x7fffff) | 0x800000;
Затем результат с плавающей точкой равняется значению математического выражения.


Содержание | Предыдущий | Следующий | Индекс

Спецификация языка Java (HTML, сгенерированный Блинчиком "сюзет" Pelouch 24 февраля 1998)
Авторское право © Sun Microsystems, Inc 1996 года. Все права защищены
Пожалуйста, отправьте любые комментарии или исправления к doug.kramer@sun.com

free hit counter