Переменные float в java

Переменные float в java

The Float class wraps a value of primitive type float in an object. An object of type Float contains a single field whose type is float . In addition, this class provides several methods for converting a float to a String and a String to a float , as well as other constants and methods useful when dealing with a float .

Field Summary

Constructor Summary

Constructs a newly allocated Float object that represents the floating-point value of type float represented by the string.

Method Summary

Returns a representation of the specified floating-point value according to the IEEE 754 floating-point «single format» bit layout.

Returns a representation of the specified floating-point value according to the IEEE 754 floating-point «single format» bit layout, preserving Not-a-Number (NaN) values.

Returns true if the argument is a finite floating-point value; returns false otherwise (for NaN and infinity arguments).

Returns a new float initialized to the value represented by the specified String , as performed by the valueOf method of class Float .

Methods inherited from class java.lang.Object

Field Detail

POSITIVE_INFINITY

public static final float POSITIVE_INFINITY

A constant holding the positive infinity of type float . It is equal to the value returned by Float.intBitsToFloat(0x7f800000) .

NEGATIVE_INFINITY

public static final float NEGATIVE_INFINITY

A constant holding the negative infinity of type float . It is equal to the value returned by Float.intBitsToFloat(0xff800000) .

NaN

public static final float NaN

A constant holding a Not-a-Number (NaN) value of type float . It is equivalent to the value returned by Float.intBitsToFloat(0x7fc00000) .

MAX_VALUE

public static final float MAX_VALUE

A constant holding the largest positive finite value of type float , (2-2 -23 )·2 127 . It is equal to the hexadecimal floating-point literal 0x1.fffffeP+127f and also equal to Float.intBitsToFloat(0x7f7fffff) .

MIN_NORMAL

public static final float MIN_NORMAL

A constant holding the smallest positive normal value of type float , 2 -126 . It is equal to the hexadecimal floating-point literal 0x1.0p-126f and also equal to Float.intBitsToFloat(0x00800000) .

MIN_VALUE

public static final float MIN_VALUE

A constant holding the smallest positive nonzero value of type float , 2 -149 . It is equal to the hexadecimal floating-point literal 0x0.000002P-126f and also equal to Float.intBitsToFloat(0x1) .

Читайте также:  Button click event in java

MAX_EXPONENT

public static final int MAX_EXPONENT

Maximum exponent a finite float variable may have. It is equal to the value returned by Math.getExponent(Float.MAX_VALUE) .

MIN_EXPONENT

public static final int MIN_EXPONENT

Minimum exponent a normalized float variable may have. It is equal to the value returned by Math.getExponent(Float.MIN_NORMAL) .

SIZE

public static final int SIZE

BYTES

public static final int BYTES

TYPE

Constructor Detail

Float

Float

Float

public Float(String s) throws NumberFormatException

Constructs a newly allocated Float object that represents the floating-point value of type float represented by the string. The string is converted to a float value as if by the valueOf method.

Method Detail

toString

  • If the argument is NaN, the result is the string » NaN «.
  • Otherwise, the result is a string that represents the sign and magnitude (absolute value) of the argument. If the sign is negative, the first character of the result is ‘ — ‘ ( ‘\u002D’ ); if the sign is positive, no sign character appears in the result. As for the magnitude m:
    • If m is infinity, it is represented by the characters «Infinity» ; thus, positive infinity produces the result «Infinity» and negative infinity produces the result «-Infinity» .
    • If m is zero, it is represented by the characters «0.0» ; thus, negative zero produces the result «-0.0» and positive zero produces the result «0.0» .
    • If m is greater than or equal to 10 -3 but less than 10 7 , then it is represented as the integer part of m, in decimal form with no leading zeroes, followed by ‘ . ‘ ( ‘\u002E’ ), followed by one or more decimal digits representing the fractional part of m.
    • If m is less than 10 -3 or greater than or equal to 10 7 , then it is represented in so-called «computerized scientific notation.» Let n be the unique integer such that 10 nm< 10 n+1 ; then let a be the mathematically exact quotient of m and 10 n so that 1 ≤ a< 10. The magnitude is then represented as the integer part of a, as a single decimal digit, followed by ‘ . ‘ ( ‘\u002E’ ), followed by decimal digits representing the fractional part of a, followed by the letter ‘ E ‘ ( ‘\u0045’ ), followed by a representation of n as a decimal integer, as produced by the method Integer.toString(int) .

    toHexString

    • If the argument is NaN, the result is the string » NaN «.
    • Otherwise, the result is a string that represents the sign and magnitude (absolute value) of the argument. If the sign is negative, the first character of the result is ‘ — ‘ ( ‘\u002D’ ); if the sign is positive, no sign character appears in the result. As for the magnitude m:
      • If m is infinity, it is represented by the string «Infinity» ; thus, positive infinity produces the result «Infinity» and negative infinity produces the result «-Infinity» .
      • If m is zero, it is represented by the string «0x0.0p0» ; thus, negative zero produces the result «-0x0.0p0» and positive zero produces the result «0x0.0p0» .
      • If m is a float value with a normalized representation, substrings are used to represent the significand and exponent fields. The significand is represented by the characters «0x1.» followed by a lowercase hexadecimal representation of the rest of the significand as a fraction. Trailing zeros in the hexadecimal representation are removed unless all the digits are zero, in which case a single zero is used. Next, the exponent is represented by «p» followed by a decimal string of the unbiased exponent as if produced by a call to Integer.toString on the exponent value.
      • If m is a float value with a subnormal representation, the significand is represented by the characters «0x0.» followed by a hexadecimal representation of the rest of the significand as a fraction. Trailing zeros in the hexadecimal representation are removed. Next, the exponent is represented by «p-126» . Note that there must be at least one nonzero digit in a subnormal significand.

      valueOf

      public static Float valueOf(String s) throws NumberFormatException

      Returns a Float object holding the float value represented by the argument string s . If s is null , then a NullPointerException is thrown. Leading and trailing whitespace characters in s are ignored. Whitespace is removed as if by the String.trim() method; that is, both ASCII space and control characters are removed. The rest of s should constitute a FloatValue as described by the lexical syntax rules:

      FloatValue: Signopt NaN Signopt Infinity Signopt FloatingPointLiteral Signopt HexFloatingPointLiteral SignedInteger HexFloatingPointLiteral: HexSignificand BinaryExponent FloatTypeSuffixopt HexSignificand: HexNumeral HexNumeral . 0x HexDigitsopt . HexDigits 0X HexDigitsopt . HexDigits BinaryExponent: BinaryExponentIndicator SignedInteger BinaryExponentIndicator: p P

      where Sign, FloatingPointLiteral, HexNumeral, HexDigits, SignedInteger and FloatTypeSuffix are as defined in the lexical structure sections of The Java™ Language Specification , except that underscores are not accepted between digits. If s does not have the form of a FloatValue, then a NumberFormatException is thrown. Otherwise, s is regarded as representing an exact decimal value in the usual «computerized scientific notation» or as an exact hexadecimal value; this exact numerical value is then conceptually converted to an «infinitely precise» binary value that is then rounded to type float by the usual round-to-nearest rule of IEEE 754 floating-point arithmetic, which includes preserving the sign of a zero value. Note that the round-to-nearest rule also implies overflow and underflow behaviour; if the exact value of s is large enough in magnitude (greater than or equal to ( MAX_VALUE + ulp(MAX_VALUE) /2), rounding to float will result in an infinity and if the exact value of s is small enough in magnitude (less than or equal to MIN_VALUE /2), rounding to float will result in a zero. Finally, after rounding a Float object representing this float value is returned. To interpret localized string representations of a floating-point value, use subclasses of NumberFormat . Note that trailing format specifiers, specifiers that determine the type of a floating-point literal ( 1.0f is a float value; 1.0d is a double value), do not influence the results of this method. In other words, the numerical value of the input string is converted directly to the target floating-point type. In general, the two-step sequence of conversions, string to double followed by double to float , is not equivalent to converting a string directly to float . For example, if first converted to an intermediate double and then to float , the string
      «1.00000017881393421514957253748434595763683319091796875001d»
      results in the float value 1.0000002f ; if the string is converted directly to float , 1.0000001f results. To avoid calling this method on an invalid string and having a NumberFormatException be thrown, the documentation for Double.valueOf lists a regular expression which can be used to screen the input.

      valueOf

      Returns a Float instance representing the specified float value. If a new Float instance is not required, this method should generally be used in preference to the constructor Float(float) , as this method is likely to yield significantly better space and time performance by caching frequently requested values.

      parseFloat

      public static float parseFloat(String s) throws NumberFormatException

      Returns a new float initialized to the value represented by the specified String , as performed by the valueOf method of class Float .

      isNaN

      public static boolean isNaN(float v)

      Источник

Оцените статью