assert_valid,西线日尔曼,基层信息管理平台
用来以二进制补码形式表示 double 值的比特位数 | public static final int size = 64; |
二进制补码形式表示 double 值的字节数 | public static final int bytes = size / byte.size; |
表示基本类型 double 的 class 实例 | public static final class<double> type = (class<double>) class.getprimitiveclass("double"); |
能够表示的最大值 只有标准化一种形式,也就是前文提到过的 |
public static final double max_value = 0x1.fffffffffffffp+1023; |
标准化的最小值 |
public static final double min_normal = 0x1.0p-1022; |
最小值还有非标准化的形式 |
public static final double min_value = 0x0.0000000000001p-1022; |
正无穷 等同于double.longbitstodouble(0x7ff0000000000000l) |
public static final double positive_infinity = 1.0 / 0.0; |
负无穷 等同于double.longbitstodouble(0xfff0000000000000l). |
public static final double negative_infinity = -1.0 / 0.0 |
nan not a number 等同于double.longbitstodouble(0x7ff8000000000000l) |
public static final double nan = 0.0d / 0.0 |
指数真值的有效的最大值 | public static final int max_exponent = 1023 |
指数真值的有效的最小值 | public static final int min_exponent = -1022 |
double(double value) | |
double(string s) |
double
获取表示形式 对于获取表示形式 提供了两种形式的方法,主要是针对于非数字的nan的不同表示 他们可以与longbitstodouble 可以进行互相转换
|
||||
longbitstodouble(long) 返回对应于给定位表示形式的 double 值 如果参数是 0x7ff0000000000000l,则结果为正无穷大
如果参数是 0xfff0000000000000l,则结果为负无穷大
如果参数值在 0x7ff0000000000001l 到 0x7fffffffffffffffl 之间或者在 0xfff0000000000001l
到 0xffffffffffffffffl 之间,则结果为 nan
|
static boolean isnan(double v) | 静态方法 是否一个非数字 (nan) 值 非数值 true |
static boolean isfinite(double d) | 静态方法 是否是有限的浮点数 有限的true |
static boolean isinfinite(double v) | 静态方法 是否是无穷大 是无穷大 true |
boolean isinfinite() | 实例方法 依赖静态方法 |
boolean isnan() |
实例方法
依赖静态方法
|
static int compare(double d1, double d2) | 静态方法 比较两个double d1 < d2 小于0 d1 = d2 等于0 d1 > d2 大于0 |
int compareto(double anotherdouble) | 实例方法 两个对象进行大小比较,依赖于静态方法 |
返回一个字符串形式表示的基本类型double 表现效果同valueof(string),不过valueof 返回的是对象 |
如果不包含可以解析的字符串将会抛出异常 |
底层依赖sun.misc.floatingdecimal |
static double valueof(double d) | |
static double valueof(string s) | 依赖parsedouble方法 所以上面说跟valueof(string)表现效果相同,本身就是一样 |
类似之前介绍的其他数值类型 全部都是强转内部的 value return (xxx)value; |
bytevalue()
shortvalue()
intvalue()
longvalue()
floatvalue()
doublevalue()
|
static string tostring(double d) | 静态方法 |
string tostring() | 实例方法 内部调用 static string tostring(double d) |
static string tohexstring(double d) | 静态方法 返回 double参数的十六进制字符串表示形式 api帮助文档中对于字符的转换有明确的规定,可以仔细研究下 示例 |
boolean equals(object obj) |
将此对象与指定对象比较
当且仅当参数不是 null 而是 double 对象,且表示的 double 值与此对象表示的 double 值相同时,结果为 true
为此,当且仅当将方法 doubletolongbits(double) 应用于两个值所返回的 long 值相同时,才认为这两个 double 值相同
注意,在大多数情况下,对于 double 类的两个实例 d1 和 d2,当且仅当
d1.doublevalue() == d2.doublevalue()
为 true 时,d1.equals(d2) 的值才为 true
但是,有以下两种例外情况:
如果 d1 和 d2 都表示 double.nan,那么即使 double.nan==double.nan 值为 false,equals
方法也将返回 true
如果 d1 表示 +0.0 而 d2 表示 -0.0,或者相反,那么即使 +0.0==-0.0 值为 true,equals 测试也将返回 false
此定义使得哈希表得以正确操作
|
static int hashcode(double value) | 静态方法 获得一个value的hashcode值 |
int hashcode() | 实例方法 依赖静态方法 |
sum(double, double) | |
max(double, double) | |
min(double, double) |
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
apollo与springboot集成实现动态刷新配置的教程详解
网友评论