- 所有已实现的接口:
-
Serializable,Comparable<Float>,Constable,ConstantDesc
Float类将原始类型float的值封装在对象中。 Float类型的对象包含一个字段,其类型为float。
此外,该类提供了几种方法,用于将float转换为String,将String转换为float,以及在处理float时有用的其他常量和方法。
这是一个基于值的类;程序员应将相等的实例视为可互换的,并且不应将实例用于同步,否则可能会发生不可预测的行为。例如,在将来的版本中,同步可能会失败。
浮点数的相等性、等价性和比较
java.lang.Double类有一个关于浮点值的相等性、等价性和比较的讨论,同样适用于float值。
- 自版本:
- 1.0
- 参见:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int用于表示float值的字节数。static final int有限float变量可能具有的最大指数。static final float一个常量,保存float类型的最大正有限值,(2-2-23)·2127。static final int规范化的float变量可能具有的最小指数。static final float一个常量,保存float类型的最小正规值,2-126。static final float一个常量,保存float类型的最小正非零值,2-149。static final float一个常量,保存float类型的非数字(NaN)值。static final float一个常量,保存float类型的负无穷大。static final float一个常量,保存float类型的正无穷大。static final intfloat值的尾数中的位数。static final int用于表示float值的位数。表示原始类型float的Class实例。 -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbyte返回经过缩小原始转换后的此Float值的byte值。static intcompare(float f1, float f2) 比较两个指定的float值。int数值上比较两个Float对象。返回包含此实例的名义描述符的Optional,即实例本身。double返回经过扩展原始转换后的此Float值的double值。boolean将此对象与指定对象进行比较。static floatfloat16ToFloat(short floatBinary16) 返回与参数的数值最接近的float值,该值是以short中编码的浮点二进制16位值。static shortfloatToFloat16(float f) 返回与参数最接近的值的浮点二进制16位值,该值在short中编码,与参数最接近。static intfloatToIntBits(float value) 根据IEEE 754浮点“单精度格式”位布局返回指定浮点值的表示。static intfloatToRawIntBits(float value) 根据IEEE 754浮点“单精度格式”位布局返回指定浮点值的表示,保留非数字(NaN)值。float返回此Float对象的float值。inthashCode()返回此Float对象的哈希码。static inthashCode(float value) 返回float值的哈希码;与Float.hashCode()兼容。static floatintBitsToFloat(int bits) 返回给定位表示的float值。intintValue()返回经过缩小原始转换后的此Float值的int值。static booleanisFinite(float f) 如果参数是有限的浮点值,则返回true;否则返回false(对于NaN和无穷大参数)。boolean如果此Float值在大小上是无限大的,则返回true;否则返回false。static booleanisInfinite(float v) 如果指定的数字在大小上是无限大的,则返回true;否则返回false。booleanisNaN()如果此Float值是非数字(NaN),则返回true;否则返回false。static booleanisNaN(float v) 如果指定的数字是非数字(NaN)值,则返回true;否则返回false。long返回经过缩小原始转换后的此Float值的long值。static floatmax(float a, float b) 返回两个float值中较大的值,就像调用Math.max一样。static floatmin(float a, float b) 返回两个float值中较小的值,就像调用Math.min一样。static floatparseFloat(String s) 返回由Float类的valueOf方法执行的指定String表示的新float值。将此实例解析为ConstantDesc,其结果是实例本身。short返回经过缩小原始转换后的此Float值的short值。static floatsum(float a, float b) 将两个float值相加,如+运算符所示。static StringtoHexString(float f) 返回float参数的十六进制字符串表示。toString()返回此Float对象的字符串表示。static StringtoString(float f) 返回float参数的字符串表示。static FloatvalueOf(float f) 返回表示指定float值的Float实例。static Float返回包含由参数字符串s表示的float值的Float对象。
-
Field Details
-
POSITIVE_INFINITY
public static final float POSITIVE_INFINITY一个常量,保存float类型的正无穷大。它等于Float.intBitsToFloat(0x7f800000)返回的值。- 参见:
-
NEGATIVE_INFINITY
public static final float NEGATIVE_INFINITY一个常量,保存float类型的负无穷大。它等于Float.intBitsToFloat(0xff800000)返回的值。- 参见:
-
NaN
public static final float NaN一个常量,保存float类型的非数字(NaN)值。它等于Float.intBitsToFloat(0x7fc00000)返回的值。- 参见:
-
MAX_VALUE
public static final float MAX_VALUE一个常量,保存float类型的最大正有限值,(2-2-23)·2127。它等于十六进制浮点文字0x1.fffffeP+127f,也等于Float.intBitsToFloat(0x7f7fffff)。- 参见:
-
MIN_NORMAL
public static final float MIN_NORMAL一个常量,保存float类型的最小正规值,2-126。它等于十六进制浮点文字0x1.0p-126f,也等于Float.intBitsToFloat(0x00800000)。- 自版本:
- 1.6
- 参见:
-
MIN_VALUE
public static final float MIN_VALUE一个常量,保存float类型的最小正非零值,2-149。它等于十六进制浮点文字0x0.000002P-126f,也等于Float.intBitsToFloat(0x1)。- 参见:
-
SIZE
public static final int SIZE用于表示float值的位数。- 自版本:
- 1.5
- 参见:
-
PRECISION
public static final int PRECISIONfloat值的尾数中的位数。这是Java语言规范第4.2.3节中的参数N。- 自:
- 19
- 参见:
-
MAX_EXPONENT
public static final int MAX_EXPONENT有限float变量可能具有的最大指数。它等于Math.getExponent(Float.MAX_VALUE)返回的值。- 自:
- 1.6
- 参见:
-
MIN_EXPONENT
public static final int MIN_EXPONENT规范化float变量可能具有的最小指数。它等于Math.getExponent(Float.MIN_NORMAL)返回的值。- 自:
- 1.6
- 参见:
-
BYTES
public static final int BYTES用于表示float值的字节数。- 自:
- 1.8
- 参见:
-
TYPE
表示原始类型float的Class实例。- 自:
- 1.1
-
-
Constructor Details
-
Float
Deprecated, for removal: This API element is subject to removal in a future version.It is rarely appropriate to use this constructor. The static factoryvalueOf(float)is generally a better choice, as it is likely to yield significantly better space and time performance.构造一个新分配的Float对象,该对象表示原始float参数。- 参数:
-
value- 要由Float表示的值。
-
Float
Deprecated, for removal: This API element is subject to removal in a future version.It is rarely appropriate to use this constructor. Instead, use the static factory methodvalueOf(float)method as follows:Float.valueOf((float)value).构造一个新分配的Float对象,该对象表示转换为类型float的参数。- 参数:
-
value- 要由Float表示的值。
-
Float
Deprecated, for removal: This API element is subject to removal in a future version.It is rarely appropriate to use this constructor. UseparseFloat(String)to convert a string to afloatprimitive, or usevalueOf(String)to convert a string to aFloatobject.构造一个新分配的Float对象,该对象表示由字符串表示的float值。该字符串被转换为float值,就像通过valueOf方法一样。- 参数:
-
s- 要转换为Float的字符串。 - 抛出:
-
NumberFormatException- 如果字符串不包含可解析的数字。
-
-
Method Details
-
toString
返回float参数的字符串表示。下面提到的所有字符都是ASCII字符。- 如果参数是NaN,则结果是字符串"
NaN"。 - 否则,结果是一个表示参数的符号和幅度(绝对值)的字符串。如果符号为负,则结果的第一个字符是'
-'('\u002D');如果符号为正,则结果中不会出现符号字符。至于幅度m:- 如果m是无穷大,则用字符
"Infinity"表示;因此,正无穷大产生结果"Infinity",负无穷大产生结果"-Infinity"。 - 如果m为零,则用字符
"0.0"表示;因此,负零产生结果"-0.0",正零产生结果"0.0"。 - 否则m为正且有限。它被转换为两个阶段的字符串:
- 选择小数:选择一个明确定义的小数dm来表示m。这个小数(几乎总是)是根据IEEE 754浮点算术的四舍五入到最近的舍入策略将m舍入到m的最短小数。
- 格式化为字符串:小数dm被格式化为一个字符串,可以是普通的或计算机化的科学记数法,具体取决于它的值。
- 如果m是无穷大,则用字符
一个小数是形式为s×10i的数字,其中s > 0和i是不是10的倍数的唯一整数。这些整数分别是小数的尾数和指数。小数的长度是满足10n-1 ≤ s < 10n的(唯一的)正整数n。
有限正数m的小数dm定义如下:
- 令R为所有根据IEEE 754浮点算术的通常四舍五入到最近舍入策略将m舍入的小数集合。
- 令p为R中所有小数的最小长度。
- 当p ≥ 2时,令T为R中长度为p的所有小数的集合。否则,令T为长度为1或2的所有小数的集合。
- 将dm定义为T中距离m最近的小数。或者如果T中有两个这样的小数,则选择具有偶数尾数的小数。
然后格式化(唯一)选择的小数dm。让s、i和n分别是小数dm的尾数、指数和长度。此外,让e = n + i - 1,让s1…sn是s的常规小数展开。注意s1 ≠ 0和sn ≠ 0。下面,小数点
'.'是'\u002E',指数标识符'E'是'\u0045'。- 情况 -3 ≤ e < 0:将dm格式化为
0.0…0s1…sn,其中小数点和s1之间恰好有-(n + i)个零。例如,123 × 10-4格式化为0.0123。 - 情况 0 ≤ e < 7:
- 子情况 i ≥ 0:将dm格式化为s1…sn
0…0.0,其中sn和小数点之间恰好有i个零。例如,123 × 102格式化为12300.0。 - 子情况 i < 0:将dm格式化为s1…sn+i
.sn+i+1…sn,其中小数点右侧恰好有-i位数字。例如,123 × 10-1格式化为12.3。
- 子情况 i ≥ 0:将dm格式化为s1…sn
- 情况 e < -3或e ≥ 7:使用计算机化科学记数法格式化dm。这里e按照
Integer.toString(int)的方式格式化。- 子情况 n = 1:将dm格式化为s1
.0Ee。例如,1 × 1023格式化为1.0E23。 - 子情况 n > 1:将dm格式化为s1
.s2…snEe。例如,123 × 10-21格式化为1.23E-19。
- 子情况 n = 1:将dm格式化为s1
要创建浮点值的本地化字符串表示,请使用NumberFormat的子类。
- 参数:
-
f- 要转换的float。 - 返回:
- 参数的字符串表示。
- 如果参数是NaN,则结果是字符串"
-
toHexString
返回float参数的十六进制字符串表示。下面提到的所有字符都是ASCII字符。- 如果参数是NaN,则结果是字符串"
NaN"。 - 否则,结果是一个表示参数的符号和幅度(绝对值)的字符串。如果符号为负,则结果的第一个字符是'
-'('\u002D');如果符号为正,则结果中不会出现符号字符。至于幅度m:- 如果m是无穷大,则用字符串
"Infinity"表示;因此,正无穷大产生结果"Infinity",负无穷大产生结果"-Infinity"。 - 如果m为零,则用字符串
"0x0.0p0"表示;因此,负零产生结果"-0x0.0p0",正零产生结果"0x0.0p0"。 - 如果m是具有规范化表示的
float值,则使用子字符串来表示尾数和指数字段。尾数由字符"0x1."表示,后跟其余尾数的小写十六进制表示作为分数。在十六进制表示中去除尾随零,除非所有数字都为零,此时使用单个零。接下来,指数由"p"表示,后跟无偏指数的十进制字符串,就像通过对指数值调用Integer.toString一样。 - 如果m是具有次正规表示的
float值,则尾数由字符"0x0."表示,后跟其余尾数的十六进制表示作为分数。在十六进制表示中去除尾随零。接下来,指数由"p-126"表示。请注意,次正规尾数中必须至少有一个非零数字。
- 如果m是无穷大,则用字符串
示例 浮点值 十六进制字符串 1.00x1.0p0-1.0-0x1.0p02.00x1.0p13.00x1.8p10.50x1.0p-10.250x1.0p-2Float.MAX_VALUE0x1.fffffep127最小正规值0x1.0p-126最大次正规值0x0.- 参数:
-
f- 要转换的float。 - 返回:
- 参数的十六进制字符串表示。
- 自版本:
- 1.5
- 如果参数是NaN,则结果是字符串"
-
valueOf
返回一个包含由参数字符串s表示的float值的Float对象。如果
s为null,则会抛出NullPointerException。s中的前导和尾随空格字符将被忽略。空格将被移除,就像通过String.trim()方法一样;也就是说,ASCII空格和控制字符都将被移除。其余的s应符合词法语法规则描述的FloatValue:
其中Sign、FloatingPointLiteral、HexNumeral、HexDigits、SignedInteger和FloatTypeSuffix的定义与Java语言规范的词法结构部分中定义的相同,但不接受数字之间的下划线。如果- FloatValue:
-
Signopt
NaN -
Signopt
Infinity - Signopt FloatingPointLiteral
- Signopt HexFloatingPointLiteral
- SignedInteger
- HexFloatingPointLiteral:
- HexSignificand BinaryExponent FloatTypeSuffixopt
- HexSignificand:
- HexNumeral
-
HexNumeral
. -
0xHexDigitsopt.HexDigits -
0XHexDigitsopt.HexDigits
- BinaryExponent:
- BinaryExponentIndicator SignedInteger
- BinaryExponentIndicator:
-
p -
P
s不具有FloatValue的形式,则会抛出NumberFormatException。否则,s被视为表示通常的“计算机科学记数法”中的精确十进制值或精确的十六进制值;然后将这个精确的数值概念上转换为“无限精确”的二进制值,然后按照IEEE 754浮点算术的通常舍入到最近规则将其舍入为float类型,其中包括保留零值的符号。请注意,舍入到最近规则还意味着溢出和下溢行为;如果s的确切值在大小上足够大(大于或等于(MAX_VALUE+ulp(MAX_VALUE)/2),舍入为float将导致无穷大,如果s的确切值在大小上足够小(小于或等于MIN_VALUE/2),舍入为float将导致零。最后,返回表示这个float值的Float对象。要解释浮点值的本地化字符串表示,请使用
NumberFormat的子类。请注意,尾随格式说明符,确定浮点文字的类型的说明符(
1.0f是一个float值;1.0d是一个double值),不会影响此方法的结果。换句话说,输入字符串的数值直接转换为目标浮点类型。一般来说,两步转换序列,字符串到double,然后double到float,并不等同于直接将字符串转换为float。例如,如果首先转换为中间double,然后转换为float,字符串"1.00000017881393421514957253748434595763683319091796875001d"
将导致float值1.0000002f;如果字符串直接转换为float,结果为1.0000001f。为了避免在无效字符串上调用此方法并抛出
NumberFormatException,Double.valueOf的文档列出了可用于筛选输入的正则表达式。- 参数:
-
s- 要解析的字符串。 - 返回:
-
包含由
String参数表示的值的Float对象。 - 抛出:
-
NumberFormatException- 如果字符串不包含可解析的数字。
-
valueOf
返回表示指定float值的Float实例。如果不需要新的Float实例,则通常应优先使用此方法,因为通过缓存频繁请求的值,此方法可能会获得显着更好的空间和时间性能。- 参数:
-
f- 一个float值。 - 返回:
-
表示
f的Float实例。 - 自版本:
- 1.5
-
parseFloat
返回一个新的float,其值由指定String的valueOf方法执行而初始化。- 参数:
-
s- 要解析的字符串。 - 返回:
-
由字符串参数表示的
float值。 - 抛出:
-
NullPointerException- 如果字符串为null -
NumberFormatException- 如果字符串不包含可解析的float。 - 自版本:
- 1.2
- 参见:
-
isNaN
public static boolean isNaN(float v) 如果指定的数字是非数字(NaN)值,则返回true,否则返回false。- API注释:
- 此方法对应于IEEE 754中定义的isNaN操作。
- 参数:
-
v- 要测试的值。 - 返回:
-
如果参数是NaN,则返回
true;否则返回false。
-
isInfinite
public static boolean isInfinite(float v) 如果指定的数字在大小上是无限大的,则返回true,否则返回false。- API注释:
- 此方法对应于IEEE 754中定义的isInfinite操作。
- 参数:
-
v- 要测试的值。 - 返回:
-
如果参数是正无穷大或负无穷大,则返回
true;否则返回false。
-
isFinite
public static boolean isFinite(float f) 如果参数是有限浮点值,则返回true;否则返回false(对于NaN和无穷大参数)。- API注释:
- 此方法对应于IEEE 754中定义的isFinite操作。
- 参数:
-
f- 要测试的float值 - 返回:
-
如果参数是有限浮点值,则返回
true;否则返回false。 - 自版本:
- 1.8
-
isNaN
public boolean isNaN()如果此Float值是非数字(NaN),则返回true;否则返回false。- 返回:
-
如果此对象表示的值是NaN,则返回
true;否则返回false。
-
isInfinite
public boolean isInfinite()如果此Float值在大小上是无限大的,则返回true;否则返回false。- 返回:
-
如果此对象表示的值是正无穷大或负无穷大,则返回
true;否则返回false。
-
toString
返回此Float对象的字符串表示。由此对象表示的基本float值将被转换为String,就像通过一个参数的toString方法一样。 -
byteValue
public byte byteValue()将此Float的值作为缩小的原始转换后的byte值返回。- 覆盖:
-
byteValue在类Number - 返回:
-
此对象表示的
float值转换为byte类型的值 - 参见Java语言规范:
-
5.1.3 缩小的原始转换
-
shortValue
public short shortValue()将此Float的值作为缩小的原始转换后的short值返回。- 覆盖:
-
shortValue在类Number - 返回:
-
此对象表示的
float值转换为short类型的值 - 参见Java语言规范:
-
5.1.3 缩小的原始转换
- 自版本:
- 1.1
-
intValue
public int intValue()将此Float的值作为缩小的原始转换后的int值返回。- 指定由:
-
intValue在类Number - 返回:
-
由此对象表示的
float值转换为int类型的值 - 参见 Java 语言规范:
-
5.1.3 缩小原始类型转换
-
longValue
public long longValue()返回此Float的值作为缩小原始类型转换后的long值。- 指定由:
-
longValue在类Number - 返回:
-
由此对象表示的
float值转换为long类型的值 - 参见 Java 语言规范:
-
5.1.3 缩小原始类型转换
-
floatValue
public float floatValue()返回此Float对象的float值。- 指定由:
-
floatValue在类Number - 返回:
-
由此对象表示的
float值
-
doubleValue
public double doubleValue()返回此Float的值作为扩大原始类型转换后的double值。- 指定由:
-
doubleValue在类Number - API 注意:
- 此方法对应于 IEEE 754 中定义的 convertFormat 操作。
- 返回:
-
由此对象表示的
float值转换为double类型的值 - 参见 Java 语言规范:
-
5.1.2 扩大原始类型转换
-
hashCode
public int hashCode() -
hashCode
public static int hashCode(float value) 返回float值的哈希码;与Float.hashCode()兼容。- 参数:
-
value- 要哈希的值 - 返回:
-
float值的哈希码值。 - 自:
- 1.8
-
equals
将此对象与指定对象进行比较。结果为true当且仅当参数不为null且为表示与此对象表示的float具有相同值的Float对象。对于此目的,仅当应用于每个值时方法floatToIntBits(float)返回相同的int值时,才认为两个float值相同。- 覆盖:
-
equals在类Object - API 注意:
-
此方法根据
floatToIntBits(float)而不是==运算符在float值上定义,因为==运算符不定义等价关系,为满足equals合同必须实现等价关系;有关浮点数相等性和等价性的详细信息,请参见此讨论。 - 参数:
-
obj- 要比较的对象 - 返回:
-
如果对象相同则为
true;否则为false。 - 参见 Java 语言规范:
-
15.21.1 数值相等运算符 == 和 !=
- 参见:
-
floatToIntBits
public static int floatToIntBits(float value) 返回根据 IEEE 754 浮点“单格式”位布局表示的指定浮点值。第31位(由掩码
0x80000000选择的位)表示浮点数的符号。位30-23(由掩码0x7f800000选择的位)表示指数。位22-0(由掩码0x007fffff选择的位)表示浮点数的尾数(有时称为尾数)。如果参数为正无穷大,则结果为
0x7f800000。如果参数为负无穷大,则结果为
0xff800000。如果参数为NaN,则结果为
0x7fc00000。在所有情况下,结果是一个整数,当传递给
intBitsToFloat(int)方法时,将产生与floatToIntBits的参数相同的浮点值(除了所有NaN值都被折叠为单个“规范”NaN值)。- 参数:
-
value- 一个浮点数。 - 返回:
- 表示浮点数的位。
-
floatToRawIntBits
public static int floatToRawIntBits(float value) 返回根据 IEEE 754 浮点“单格式”位布局表示的指定浮点值,保留非数值(NaN)值。第31位(由掩码
0x80000000选择的位)表示浮点数的符号。位30-23(由掩码0x7f800000选择的位)表示指数。位22-0(由掩码0x007fffff选择的位)表示浮点数的尾数(有时称为尾数)。如果参数为正无穷大,则结果为
0x7f800000。如果参数为负无穷大,则结果为
0xff800000。如果参数为NaN,则结果是表示实际NaN值的整数。与
floatToIntBits方法不同,floatToRawIntBits不会将所有编码NaN的位模式折叠为单个“规范”NaN值。在所有情况下,结果是一个整数,当传递给
intBitsToFloat(int)方法时,将产生与floatToRawIntBits的参数相同的浮点值。- 参数:
-
value- 一个浮点数。 - 返回:
- 表示浮点数的位。
- 自:
- 1.3
-
intBitsToFloat
public static float intBitsToFloat(int bits) 返回与给定位表示对应的float值。参数被视为根据 IEEE 754 浮点“单格式”位布局表示的浮点值的表示。如果参数为
0x7f800000,则结果为正无穷大。如果参数为
0xff800000,则结果为负无穷大。如果参数在范围
0x7f800001到0x7fffffff或范围0xff800001到0xffffffff内的任何值,则结果为NaN。Java 提供的任何 IEEE 754 浮点操作都无法区分具有不同位模式的相同类型的两个NaN值。不同的NaN值只能通过使用Float.floatToRawIntBits方法来区分。在所有其他情况下,让s、e和m是可以从参数计算出的三个值:
那么浮点结果等于数学表达式的值 s·m·2e-150。int s = ((bits >> 31) == 0) ? 1 : -1; int e = ((bits >> 23) & 0xff); int m = (e == 0) ? (bits & 0x7fffff) << 1 : (bits & 0x7fffff) | 0x800000;请注意,此方法可能无法返回具有与
int参数完全相同位模式的floatNaN。IEEE 754 区分两种NaN,安静NaN和信号NaN。这两种NaN之间的差异通常在Java中不可见。对信号NaN的算术运算将其转换为具有不同但通常相似的位模式的安静NaN。但是,在某些处理器上,仅仅复制信号NaN也执行该转换以执行返回给调用方法的操作。因此,intBitsToFloat可能无法返回具有信号NaN位模式的float。因此,对于某些int值,floatToRawIntBits(intBitsToFloat(start))可能不等于start。此外,哪些特定位模式表示信号NaN是依赖于平台的;尽管所有NaN位模式,无论是安静的还是信号的,都必须在上面标识的NaN范围内。- 参数:
-
bits- 一个整数。 - 返回:
-
具有相同位模式的
float浮点值。
-
float16ToFloat
public static float float16ToFloat(short floatBinary16) 返回与参数的数值最接近的float值,该参数是以short编码的浮点二进制16值。转换是精确的;所有二进制16值都可以精确表示为float。特殊情况:- 如果参数为零,则结果是与参数相同符号的零。
- 如果参数为无穷大,则结果是与参数相同符号的无穷大。
- 如果参数为NaN,则结果是NaN。
IEEE 754二进制16格式
IEEE 754标准将二进制16定义为16位格式,以及32位二进制32格式(对应于float类型)和64位二进制64格式(对应于double类型)。二进制16格式类似于其他IEEE 754格式,只是更小,具有所有通常的IEEE 754值,如NaN、有符号无穷大、有符号零和次正规数。二进制16格式的参数(JLS 4.2.3)为N = 11精度位,K = 5指数位,Emax = 15,Emin = -14。- API注释:
- 此方法对应于IEEE 754中定义的从二进制16格式到二进制32格式的convertFormat操作。此方法的操作类似于原始扩宽转换(JLS 5.1.2)。
- 参数:
-
floatBinary16- 要转换为float的二进制16值 - 返回:
-
与参数的数值最接近的
float值,该参数是以short编码的浮点二进制16值 - 自:
- 20
-
floatToFloat16
public static short floatToFloat16(float f) 返回与参数最接近的浮点二进制16值,编码为short,计算转换时采用最接近偶数舍入模式。特殊情况:- 如果参数为零,则结果是与参数相同符号的零。
- 如果参数为无穷大,则结果是与参数相同符号的无穷大。
- 如果参数为NaN,则结果是NaN。
float16ToFloat(short)方法中有更详细的讨论。- API注释:
- 此方法对应于IEEE 754中定义的从二进制32格式到二进制16格式的convertFormat操作。此方法的操作类似于原始缩小转换(JLS 5.1.3)。
- 参数:
-
f- 要转换为二进制16的float值 - 返回:
-
与参数最接近的浮点二进制16值,编码为
short - 自:
- 20
-
compareTo
按数字比较两个Float对象。此方法对Float对象施加了一个总序,与Java语言数字比较运算符(<, <=, ==, >=, >)定义的不完全序有两个差异。- NaN在与其他值的比较中是无序的,并且在比较运算符下不等于自身。此方法选择将
Float.NaN定义为等于自身,并大于所有其他double值(包括Float.POSITIVE_INFINITY)。 - 正零和负零在数字上是相等的,但是是不同且可区分的值。此方法选择将正零(
+0.0f)定义为大于负零(-0.0f)。
Float对象的自然排序与一致的equals;有关浮点比较和排序的详细信息,请参阅此讨论。- 指定者:
-
compareTo在接口Comparable<Float> - 参数:
-
anotherFloat- 要比较的Float - 返回:
-
如果
anotherFloat在数字上等于此Float,则返回值为0;如果此Float在数字上小于anotherFloat,则返回值小于0;如果此Float在数字上大于anotherFloat,则返回值大于0。 - 参见Java语言规范:
-
15.20.1 数值比较运算符
<,<=,>, 和>=
- 自:
- 1.2
- NaN在与其他值的比较中是无序的,并且在比较运算符下不等于自身。此方法选择将
-
compare
public static int compare(float f1, float f2) 比较两个指定的float值。返回的整数值的符号与调用以下方法返回的整数值的符号相同:Float.valueOf(f1).compareTo(Float.valueOf(f2))
- 参数:
-
f1- 要比较的第一个float -
f2- 要比较的第二个float - 返回:
-
如果
f1在数字上等于f2,则返回值为0;如果f1在数字上小于f2,则返回值小于0;如果f1在数字上大于f2,则返回值大于0。 - 自:
- 1.4
-
sum
public static float sum(float a, float b) 将两个float值相加,如+运算符所示。- API注释:
- 此方法对应于IEEE 754中定义的加法操作。
- 参数:
-
a- 第一个操作数 -
b- 第二个操作数 - 返回:
-
a和b的和 - 参见Java语言规范:
-
4.2.4 浮点运算
- 自:
- 1.8
- 另请参见:
-
max
public static float max(float a, float b) 返回两个float值中较大的值,就像调用Math.max一样。- API注释:
- 此方法对应于IEEE 754中定义的最大操作。
- 参数:
-
a- 第一个操作数 -
b- 第二个操作数 - 返回:
-
a和b中较大的值 - 自:
- 1.8
- 另请参见:
-
min
public static float min(float a, float b) 返回两个float值中较小的值,如同调用Math.min一样。- API注释:
- 此方法对应于IEEE 754中定义的最小操作。
- 参数:
-
a- 第一个操作数 -
b- 第二个操作数 - 返回:
-
a和b中较小的值 - 自:
- 1.8
- 另请参见:
-
describeConstable
返回包含此实例的名义描述符的Optional,即实例本身。- 指定者:
-
describeConstable在接口Constable - 返回:
-
描述
Float实例的Optional - 自:
- 12
-
resolveConstantDesc
将此实例解析为ConstantDesc,其结果是实例本身。- 指定者:
-
resolveConstantDesc在接口ConstantDesc - 参数:
-
lookup- 忽略 - 返回:
- Float实例
- 自:
- 12
-