Java Java类
Float 类是原始类型 float 的包装类,它包含几种有效处理浮点值的方法,例如将其转换为字符串表示形式,反之亦然。 Float 类的对象可以保存一个浮点值。初始化一个 Float 对象主要有两个构造函数——
- Float(float b:创建一个使用提供的值初始化的 Float 对象。
Syntax: public Float(Float d)
Parameters:
d : value with which to initialize
- Float(String s):创建一个 Float 对象,该对象使用字符串表示提供的已解析浮点值进行初始化。默认基数为 10。
Syntax: public Float(String s) throws NumberFormatException
Parameters:
s : string representation of the byte value
Throws:
NumberFormatException: If the string provided does not represent any
float value.
方法:
1.toString():返回float值对应的字符串。
Syntax : public String toString(float b)
Parameters :
b : float value for which string representation required.
2.valueOf() :返回使用提供的值初始化的 Float 对象。
Syntax : public static Float valueOf(float b)
Parameters :
b : a float value
另一个重载函数valueOf(String 函数 ) 提供类似于
新浮动(浮动.parseFloat(val,10))
Syntax : public static Float valueOf(String s)
throws NumberFormatException
Parameters :
s : a String object to be parsed as float
Throws :
NumberFormatException : if String cannot be parsed to a float value.
3.parseFloat():解析字符串返回float值。与 valueOf() 不同,因为它返回原始浮点值,而 valueOf() 返回 Float 对象。
Syntax : public static float parseFloat(String val)
throws NumberFormatException
Parameters :
val : String representation of float
Throws :
NumberFormatException : if String cannot be parsed to a float value
in given radix.
4.byteValue() :返回这个Float Object对应的字节值。
Syntax : public byte byteValue()
5.shortValue() :返回与此 Float 对象对应的短值。
Syntax : public short shortValue()
6.intValue() :返回与此 Float Object 对应的 int 值。
Syntax : public int intValue()
7.longValue() :返回一个与此 Float Object 对应的 long 值。
Syntax : public long longValue()
8.doubleValue() :返回与此 Float Object 对应的 double 值。
Syntax : public double doubleValue()
9.floatValue() :返回与此 Float 对象对应的浮点值。
Syntax : public float floatValue()
10.hashCode() :返回这个Float Object对应的hashcode。
Syntax : public int hashCode()
11.isNaN() :如果考虑的浮点对象不是数字,则返回 true,否则返回 false。
Syntax : public boolean isNaN()
如果我们不需要创建任何 float 对象,则可以使用另一种静态方法 isNaN(float val)。它提供与上述版本类似的功能。
Syntax : public static boolean isNaN(float val)
Parameters :
val : float value to check for
12.isInfinite() :如果考虑的浮点对象非常大,则返回 true,否则返回 false。具体来说,正侧超过 0x7f800000 和负侧低于 0xff800000 的任何数字都是无穷大值。
Syntax : public boolean isInfinite()
如果我们不需要创建任何 float 对象,则可以使用另一种静态方法 isInfinite(float val)。它提供与上述版本类似的功能。
Syntax : public static boolean isInfinte(float val)
Parameters :
val : float value to check for
13.toHexString() :返回参数浮点值的十六进制表示。
Syntax : public static String toHexString(float val)
Parameters :
val : float value to be represented as hex string
14. floatToIntBits() :返回给定浮点参数的 IEEE 754 浮点“单一格式”位布局。可以在此处找到 IEEE 754 浮点“单一格式”的详细摘要。
Syntax : public static int floatToIntBits(float val)
Parameters :
val : float value to convert
15.floatToRawIntBits() :返回给定浮点参数的 IEEE 754 浮点“单一格式”位布局。它与以前的方法不同,因为它保留了 Nan 值。
Syntax : public static int floatToRawIntBits(float val)
Parameters :
val : float value to convert
16.IntBitsToFloat() :返回与参数的长位模式对应的浮点值。它确实与前两种方法相反。
Syntax : public static float IntBitsToFloat(long b)
Parameters :
b : long bit pattern
17.equals() :用于比较两个 Float 对象的相等性。如果两个对象包含相同的浮点值,则此方法返回 true。只有在检查相等性时才应该使用。在所有其他情况下,应该首选 compareTo 方法。
Syntax : public boolean equals(Object obj)
Parameters :
obj : object to compare with
18. compareTo() :用于比较两个 Float 对象的数值相等性。这应该在比较两个浮点值的数值相等时使用,因为它会区分较小和较大的值。返回小于 0,0 的值,大于 0 的值表示小于、等于和大于。
Syntax : public int compareTo(Float b)
Parameters :
b : Float object to compare with
19. compare() :用于比较两个原始浮点值是否相等。由于它是一个静态方法,因此它可以在不创建任何 Float 对象的情况下使用。
Syntax : public static int compare(float x,float y)
Parameters :
x : float value
y : another float value
例子:
Java
// Java program to illustrate
// various float class methods
// of Java.lang class
public class GfG
{
public static void main(String[] args)
{
float b = 55.05F;
String bb = "45";
// Construct two Float objects
Float x = new Float(b);
Float y = new Float(bb);
// toString()
System.out.println("toString(b) = " + Float.toString(b));
// valueOf()
// return Float object
Float z = Float.valueOf(b);
System.out.println("valueOf(b) = " + z);
z = Float.valueOf(bb);
System.out.println("ValueOf(bb) = " + z);
// parseFloat()
// return primitive float value
float zz = Float.parseFloat(bb);
System.out.println("parseFloat(bb) = " + zz);
System.out.println("bytevalue(x) = " + x.byteValue());
System.out.println("shortvalue(x) = " + x.shortValue());
System.out.println("intvalue(x) = " + x.intValue());
System.out.println("longvalue(x) = " + x.longValue());
System.out.println("doublevalue(x) = " + x.doubleValue());
System.out.println("floatvalue(x) = " + x.floatValue());
int hash = x.hashCode();
System.out.println("hashcode(x) = " + hash);
boolean eq = x.equals(y);
System.out.println("x.equals(y) = " + eq);
int e = Float.compare(x, y);
System.out.println("compare(x,y) = " + e);
int f = x.compareTo(y);
System.out.println("x.compareTo(y) = " + f);
Float d = Float.valueOf("1010.54789654123654");
System.out.println("isNaN(d) = " + d.isNaN());
System.out.println("Float.isNaN(45.12452) = "
+ Float.isNaN(45.12452F));
// Float.POSITIVE_INFINITY stores
// the positive infinite value
d = Float.valueOf(Float.POSITIVE_INFINITY + 1);
System.out.println("Float.isInfinite(d) = "
+ Float.isInfinite(d.floatValue()));
float dd = 10245.21452F;
System.out.println("Float.toString(dd) = "
+ Float.toHexString(dd));
int float_to_int = Float.floatToIntBits(dd);
System.out.println("Float.floatToLongBits(dd) = "
+ float_to_int);
float int_to_float = Float.intBitsToFloat(float_to_int);
System.out.println("Float.intBitsToFloat(float_to_long) = "
+ int_to_float);
}
}
输出 :
toString(b) = 55.05
valueOf(b) = 55.05
ValueOf(bb) = 45.0
parseFloat(bb) = 45.0
bytevalue(x) = 55
shortvalue(x) = 55
intvalue(x) = 55
longvalue(x) = 55
doublevalue(x) = 55.04999923706055
floatvalue(x) = 55.05
hashcode(x) = 1113338675
x.equals(y) = false
compare(x,y) = 1
x.compareTo(y) = 1
isNaN(d) = false
Float.isNaN(45.12452) = false
Float.isInfinite(d) = true
Float.toString(dd) = 0x1.4029b8p13
Float.floatToLongBits(dd) = 1176507612
Float.intBitsToFloat(float_to_long) = 10245.215