public final class Double extends Number implements Comparable<Double>
Doubleใฏใฉในใฏใใใชใใใฃใๅdoubleใฎๅคใใชใใธใงใฏใใซใฉใใใใพใใ Doubleๅใฎใชใใธใงใฏใใซใฏใๅใdoubleใฎๅไธใใฃใผใซใใๅซใพใใพใใ
ใใใซใใฎใฏใฉในใฏใdoubleใStringใซใStringใdoubleใซๅคๆใใๅ็จฎใกใฝใใใใdoubleใฎๅฆ็ๆใซๅฝน็ซใคๅฎๆฐใใใณใกใฝใใใๆไพใใพใใ
| ไฟฎ้ฃพๅญใจๅ | ใใฃใผใซใ | ่ชฌๆ |
|---|---|---|
static int |
BYTES |
doubleๅคใ่กจใใใใซไฝฟ็จใใใใใคใๆฐใงใใ |
static int |
MAX_EXPONENT |
ๆ้ใฎ
doubleๅคๆฐใๆใคๅฏ่ฝๆงใฎใใๆๅคงๆๆฐใงใใ |
static double |
MAX_VALUE |
doubleๅใฎๆญฃใฎๆๅคงๆ้ๅค(2-2-52)ยท21023ใงใใ |
static int |
MIN_EXPONENT |
ๆญฃ่ฆๅใใใ
doubleๅคๆฐใๆใคๅฏ่ฝๆงใฎใใๆๅฐๆๆฐใงใใ |
static double |
MIN_NORMAL |
doubleๅใฎๆญฃใฎๆๅฐๆจๆบๅค2-1022ใไฟๆใใๅฎๆฐใงใใ |
static double |
MIN_VALUE |
doubleๅใฎๆญฃใฎๆๅฐ้ใผใญๅค2-1074ใไฟๆใใๅฎๆฐใงใใ |
static double |
NaN |
doubleๅใฎ้ๆฐ(NaN)ๅคใไฟๆใใๅฎๆฐใงใใ |
static double |
NEGATIVE_INFINITY |
doubleๅใฎ่ฒ ใฎ็ก้ๅคงๅคใไฟๆใใๅฎๆฐใงใใ |
static double |
POSITIVE_INFINITY |
doubleๅใฎๆญฃใฎ็ก้ๅคงๅคใไฟๆใใๅฎๆฐใงใใ |
static int |
SIZE |
doubleๅคใ่กจใใฎใซไฝฟใใใใใใๆฐใงใใ |
static Class<Double> |
TYPE |
ใใชใใใฃใๅ
doubleใ่กจใClassใคใณในใฟใณในใ |
| ใณใณในใใฉใฏใฟ | ่ชฌๆ |
|---|---|
Double(double value) |
ใใชใใใฃใใฎ
doubleๅผๆฐใ่กจใใๆฐใใๅฒใๅฝใฆใใใDoubleใชใใธใงใฏใใๆง็ฏใใพใใ |
Double(String s) |
ๆๅญๅใง่กจใใใ
doubleๅใฎๆตฎๅๅฐๆฐ็นใ่กจใใๆฐใใๅฒใๅฝใฆใใใDoubleใชใใธใงใฏใใๆง็ฏใใพใใ |
| ไฟฎ้ฃพๅญใจๅ | ใกใฝใใ | ่ชฌๆ |
|---|---|---|
byte |
byteValue() |
ใใฎ
Doubleใฎ็ธฎๅฐใใชใใใฃใๅคๆๅพใฎๅคใbyteใจใใฆ่ฟใใพใใ |
static int |
compare(double d1, double d2) |
ๆๅฎใใใ2ใคใฎ
doubleๅคใๆฏ่ผใใพใใ |
int |
compareTo(Double anotherDouble) |
2ใคใฎ
Doubleใชใใธใงใฏใใๆฐๅค็ใซๆฏ่ผใใพใใ |
static long |
doubleToLongBits(double value) |
IEEE 754ๆตฎๅๅฐๆฐ็นใฎใใใใซใปใใฉใผใใใ(double format)ใใใใใปใฌใคใขใฆใใซๅพใฃใฆใๆๅฎใใใๆตฎๅๅฐๆฐ็นใฎๅคใ่กจ็พใใฆ่ฟใใพใใ
|
static long |
doubleToRawLongBits(double value) |
IEEE 754ๆตฎๅๅฐๆฐ็นใฎใใใใซใปใใฉใผใใใ(double format)ใใใใใปใฌใคใขใฆใใซๅพใฃใฆใ้ๆฐ(NaN)ๅคใไฟๆใใใๆๅฎใใใๆตฎๅๅฐๆฐ็นๅคใฎ่กจ็พใ่ฟใใพใใ
|
double |
doubleValue() |
ใใฎ
Doubleใชใใธใงใฏใใฎdoubleๅคใ่ฟใใพใใ |
boolean |
equals(Object obj) |
ใใฎใชใใธใงใฏใใจๆๅฎใใใใชใใธใงใฏใใๆฏ่ผใใพใใ
|
float |
floatValue() |
ใใฎ
Doubleใฎ็ธฎๅฐใใชใใใฃใๅคๆๅพใฎๅคใfloatใจใใฆ่ฟใใพใใ |
int |
hashCode() |
ใใฎ
Doubleใชใใธใงใฏใใฎใใใทใฅใปใณใผใใ่ฟใใพใใ |
static int |
hashCode(double value) |
Double.hashCode()ใจใฎไบๆๆงใใใใdoubleๅคใฎใใใทใฅใปใณใผใใ่ฟใใพใใ |
int |
intValue() |
ใใฎ
Doubleใฎ็ธฎๅฐใใชใใใฃใๅคๆๅพใฎๅคใintใจใใฆ่ฟใใพใใ |
static boolean |
isFinite(double d) |
ๅผๆฐใๆ้ใฎๆตฎๅๅฐๆฐ็นๅคใงใใๅ ดๅใฏ
trueใ่ฟใใใใใงใชใๅ ดๅ(NaNใใใณ็ก้ๅคงใฎๅผๆฐใฎๅ ดๅ)ใฏfalseใ่ฟใใพใใ |
boolean |
isInfinite() |
ใใฎ
Doubleๅคใฎ็ตถๅฏพๅคใ็ก้้ใงใใๅ ดๅใซใฏtrueใใใใใงใชใๅ ดๅใซใฏfalseใ่ฟใใพใใ |
static boolean |
isInfinite(double v) |
ๆๅฎใใใๆฐๅคใฎ็ตถๅฏพๅคใ็ก้้ใงใใๅ ดๅใซใฏ
trueใใใใใงใชใๅ ดๅใซใฏfalseใ่ฟใใพใใ |
boolean |
isNaN() |
ใใฎ
Doubleๅคใ้ๆฐ(NaN)ใงใใๅ ดๅใซใฏtrueใใใใใงใชใๅ ดๅใฏfalseใ่ฟใใพใใ |
static boolean |
isNaN(double v) |
ๆๅฎใใใๆฐๅคใ้ๆฐ(NaN)ใงใใๅ ดๅใซใฏ
trueใใใใใงใชใๅ ดๅใฏfalseใ่ฟใใพใใ |
static double |
longBitsToDouble(long bits) |
ๆๅฎใใใใใใ่กจ็พใจๅฏพๅฟใใ
doubleๅคใ่ฟใใพใใ |
long |
longValue() |
ใใฎ
Doubleใฎ็ธฎๅฐใใชใใใฃใๅคๆๅพใฎๅคใlongใจใใฆ่ฟใใพใใ |
static double |
max(double a, double b) |
Math.maxใๅผใณๅบใใๅ ดๅใจๅๆงใซใ2ใคใฎdoubleๅคใฎๅคงใใใปใใ่ฟใใพใใ |
static double |
min(double a, double b) |
Math.minใๅผใณๅบใใๅ ดๅใจๅๆงใซใ2ใคใฎdoubleๅคใฎๅฐใใใปใใ่ฟใใพใใ |
static double |
parseDouble(String s) |
DoubleใฏใฉในใฎvalueOfใกใฝใใใๅฎ่กใใๅ ดๅใจๅๆงใซใๆๅฎใใใStringใ่กจใๅคใซๅๆๅใใใๆฐใใdoubleๅคใ่ฟใใพใใ |
short |
shortValue() |
ใใฎ
Doubleใฎ็ธฎๅฐใใชใใใฃใๅคๆๅพใฎๅคใshortใจใใฆ่ฟใใพใใ |
static double |
sum(double a, double b) |
+ๆผ็ฎๅญใฎใใใซใ2ใคใฎ
doubleๅคใๅ ็ฎใใพใใ |
static String |
toHexString(double d) |
doubleๅผๆฐใฎ16้ฒๆฐๆๅญๅ่กจ็พใ่ฟใใพใใ |
String |
toString() |
ใใฎ
Doubleใชใใธใงใฏใใฎๆๅญๅ่กจ็พใ่ฟใใพใใ |
static String |
toString(double d) |
doubleๅผๆฐใฎๆๅญๅ่กจ็พใ่ฟใใพใใ |
static Double |
valueOf(double d) |
ๆๅฎใใใ
doubleๅคใ่กจใDoubleใคใณในใฟใณในใ่ฟใใพใใ |
static Double |
valueOf(String s) |
ๆๅญๅๅผๆฐ
sใง่กจใใใdoubleๅคใไฟๆใใDoubleใชใใธใงใฏใใ่ฟใใพใใ |
public static final double POSITIVE_INFINITY
doubleๅใฎๆญฃใฎ็ก้ๅคงๅคใไฟๆใใๅฎๆฐใงใใ ใใใฏใDouble.longBitsToDouble(0x7ff0000000000000L)ใใ่ฟใใใๅคใจ็ญใใใชใใพใใ public static final double NEGATIVE_INFINITY
doubleๅใฎ่ฒ ใฎ็ก้ๅคงๅคใไฟๆใใๅฎๆฐใงใใ ใใใฏใDouble.longBitsToDouble(0xfff0000000000000L)ใใ่ฟใใใๅคใจ็ญใใใชใใพใใ public static final double NaN
doubleๅใฎ้ๆฐ(NaN)ๅคใไฟๆใใๅฎๆฐใงใใ ใใใฏใDouble.longBitsToDouble(0x7ff8000000000000L)ใใ่ฟใใใๅคใจ็ญใใใชใใพใใ public static final double MAX_VALUE
doubleๅใฎๆญฃใฎๆๅคงๆ้ๅค(2-2-52)ยท21023ใงใใ 16้ฒๆฐๆตฎๅๅฐๆฐ็นใชใใฉใซ0x1.fffffffffffffP+1023ใจๅ็ญใงใใใDouble.longBitsToDouble(0x7fefffffffffffffL)ใจใๅ็ญใงใใ public static final double MIN_NORMAL
doubleๅใฎๆญฃใฎๆๅฐๆจๆบๅค2-1022ใไฟๆใใๅฎๆฐใงใใ 16้ฒๆฐๆตฎๅๅฐๆฐ็นใชใใฉใซ0x1.0p-1022ใจๅ็ญใงใใใDouble.longBitsToDouble(0x0010000000000000L)ใจใๅ็ญใงใใ public static final double MIN_VALUE
doubleๅใฎๆญฃใฎๆๅฐ้ใผใญๅค2-1074ใไฟๆใใๅฎๆฐใงใใ 16้ฒๆฐๆตฎๅๅฐๆฐ็นใชใใฉใซ0x0.0000000000001P-1022ใจๅ็ญใงใใใDouble.longBitsToDouble(0x1L)ใจใๅ็ญใงใใ public static final int MAX_EXPONENT
doubleๅคๆฐใๆใคๅฏ่ฝๆงใฎใใๆๅคงๆๆฐใงใใ ใใใฏใMath.getExponent(Double.MAX_VALUE)ใใ่ฟใใใๅคใจ็ญใใใชใใพใใ public static final int MIN_EXPONENT
doubleๅคๆฐใๆใคๅฏ่ฝๆงใฎใใๆๅฐๆๆฐใงใใ ใใใฏใMath.getExponent(Double.MIN_NORMAL)ใใ่ฟใใใๅคใจ็ญใใใชใใพใใ public static final int SIZE
doubleๅคใ่กจใใฎใซไฝฟใใใใใใๆฐใงใใpublic static final int BYTES
doubleๅคใ่กจใใใใซไฝฟ็จใใใใใคใๆฐใงใใpublic Double(double value)
doubleๅผๆฐใ่กจใใๆฐใใๅฒใๅฝใฆใใใDoubleใชใใธใงใฏใใๆง็ฏใใพใใvalue - Doubleใซใใฃใฆ่กจใใใๅคใpublic Double(String s) throws NumberFormatException
doubleๅใฎๆตฎๅๅฐๆฐ็นใ่กจใใๆฐใใๅฒใๅฝใฆใใใDoubleใชใใธใงใฏใใๆง็ฏใใพใใ ๆๅญๅใฏใvalueOfใกใฝใใใจๅๆงใซdoubleๅคใซๅคๆใใใพใใ s - DoubleใซๅคๆใใๆๅญๅใNumberFormatException - ๆๅญๅใ่งฃๆๅฏ่ฝใชๆฐๅคใๅซใพใชใๅ ดๅใvalueOf(java.lang.String)public static String toString(double d)
doubleๅผๆฐใฎๆๅญๅ่กจ็พใ่ฟใใพใใ ๆฌกใฎๆๅญใฏใในใฆASCIIๆๅญใงใใ
NaNใใ
-ใ('\u002D')ใจใชใใ็ฌฆๅทใๆญฃใฎๅ ดๅใ็ตๆใฎๆๅญๅใซ็ฌฆๅทๆๅญใฏ่กจ็คบใใใชใใ ็ตถๅฏพๅคmใซใคใใฆใฏใๆฌกใฎใจใใ:
"Infinity"ใง่กจใใใใใใใใฃใฆใๆญฃใฎ็ก้ๅคงใฎ็ตๆใฏ"Infinity"ใ่ฒ ใฎ็ก้ๅคงใฎ็ตๆใฏ"-Infinity"ใจใชใใ
"0.0"ใง่กจใใใใใใใใฃใฆใ่ฒ ใฎใผใญใฎ็ตๆใฏ"-0.0"ใๆญฃใฎใผใญใฎ็ตๆใฏ"0.0"ใจใชใใ
.ใ('\u002E')ใmใฎๅฐๆฐ้จใ่กจใ1ๆกไปฅไธใฎ10้ฒๆฐใใ้ ใซไธฆในใใใฎใง่กจ็พใใใใ
.ใ('\u002E')ใaใฎๅฐๆฐ้จใ่กจใไฝๆกใใฎ10้ฒๆฐใๆๅญใEใ('\u0045')ใnใ10้ฒๆดๆฐใจใใฆ่กจ็พใใใใฎ(ใกใฝใใInteger.toString(int)ใง็ๆ)ใใ้ ใซไธฆในใใใฎใง่กจ็พใใใใ
doubleๅใฎ้ฃๆฅใใๅคใใๅผๆฐใไธๆใซ่ญๅฅใใใฎใซๆไฝ้ๅฟ
่ฆใชๆกๆฐใซใใฆใใ ใใใ ใใจใใฐใใผใญใงใชใๆ้ใฎๅผๆฐdใๆๅฎใใฆใใฎใกใฝใใใงไฝๆใใ10้ฒๅค่กจ่จใxใจใใพใใ ใใฎๅ ดๅใdใฏxใซใใฃใจใ่ฟใdoubleๅคใงใชใใใฐใใใพใใใใxใพใงใฎ่ท้ขใๅไธใฎdoubleๅคใ2ใคๅญๅจใใๅ ดๅใฏใdใฏใใฎใฉใกใใใงใใใใใคdใฎไปฎๆฐใฎๆไธไฝใใใใ0ใงใชใใใฐใใใพใใใ
ๆตฎๅๅฐๆฐ็นๅคใฎใญใผใซใฉใคใบใใใๆๅญๅ่กจ็พใไฝๆใใๅ ดๅใNumberFormatใฎใตใใฏใฉในใไฝฟ็จใใพใใ
d - ๅคๆใใdoubleใpublic static String toHexString(double d)
doubleๅผๆฐใฎ16้ฒๆฐๆๅญๅ่กจ็พใ่ฟใใพใใ ๆฌกใฎๆๅญใฏใในใฆASCIIๆๅญใงใใ
NaNใใ
-ใ('\u002D')ใจใชใใ็ฌฆๅทใๆญฃใฎๅ ดๅใ็ตๆใฎๆๅญๅใซ็ฌฆๅทๆๅญใฏ่กจ็คบใใใชใใ ็ตถๅฏพๅคmใซใคใใฆใฏใๆฌกใฎใจใใ:
"Infinity"ใง่กจใใใใใใใใฃใฆใๆญฃใฎ็ก้ๅคงใฎ็ตๆใฏ"Infinity"ใ่ฒ ใฎ็ก้ๅคงใฎ็ตๆใฏ"-Infinity"ใจใชใใ
"0x0.0p0"ใง่กจใใใใใใใใฃใฆใ่ฒ ใฎใผใญใฎ็ตๆใฏ"-0x0.0p0"ใๆญฃใฎใผใญใฎ็ตๆใฏ"0x0.0p0"ใจใชใใ
doubleๅคใฎๅ ดๅใฏใๆๅนๆฐๅญใจๆๆฐใฎใใฃใผใซใใ่กจใใฎใซ้จๅๆๅญๅใไฝฟใใใใ ๆๅนๆฐๅญใฏใๆๅญๅ"0x1."ใจใๅฐๆฐ้จใจใใฆๆฎใใฎๆๅนๆฐๅญใฎๅฐๆๅญใฎ16้ฒ่กจ็พใ็ถใใฆ่กจใใใใ ใในใฆใฎๆกใ0ใงใชใใใใ(ใในใฆใ0ใฎๅ ดๅใฏๅไธใฎ0ใไฝฟ็จ)ใ16้ฒ่กจ็พใฎๆซๅฐพใฎ0ใฏๅ้คใใใใ ๆฌกใซใๆๆฐใฏใๆๆฐๅคใงInteger.toStringใๅผใณๅบใใฆ็ๆใใใจใใฎใใใซใ"p"ใจใใใซ็ถใๅฎๅ
จใชๆๆฐใฎ10้ฒๆฐๆๅญๅใง่กจใใใใ
doubleๅคใฎๅ ดๅใๆๅนๆฐๅญใฏใๆๅญๅ"0x0."ใจใๅฐๆฐ้จใจใใฆๆฎใใฎๆๅนๆฐๅญใฎ16้ฒ่กจ็พใ็ถใใฆ่กจใใใใ 16้ฒ่กจ็พใฎๆซๅฐพใฎ0ใฏๅ้คใใใพใใ ๆฌกใซใๆๆฐใฏ"p-1022"ใง่กจใใใใ ใตใใใผใใซๆๅนๆฐๅญๅ
ใซใใผใญใงใชใๆฐๅญใ1ใคไปฅไธๅญๅจใใๅฟ
่ฆใใใใใจใซ็ๆใใฆใใ ใใใ
| ๆตฎๅๅฐๆฐ็นๅค | 16้ฒๆฐๆๅญๅ |
|---|---|
1.0 | 0x1.0p0 |
-1.0 | -0x1.0p0 |
2.0 | 0x1.0p1 |
3.0 | 0x1.8p1 |
0.5 | 0x1.0p-1 |
0.25 | 0x1.0p-2 |
Double.MAX_VALUE |
0x1.fffffffffffffp1023 |
Minimum Normal Value |
0x1.0p-1022 |
Maximum Subnormal Value |
0x0.fffffffffffffp-1022 |
Double.MIN_VALUE |
0x0.0000000000001p-1022 |
d - ๅคๆใใdoubleใpublic static Double valueOf(String s) throws NumberFormatException
sใง่กจใใใdoubleๅคใไฟๆใใDoubleใชใใธใงใฏใใ่ฟใใพใใ
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.HexDigits0XHexDigitsopt.HexDigits
- BinaryExponent:
- BinaryExponentIndicator SignedInteger
- BinaryExponentIndicator:
pP
sใฎๅฝขๅผใFloatValueใงใชใๅ ดๅใฏใNumberFormatExceptionใในใญใผใใใพใใ ใใใงใชใๅ ดๅใsใฏ้ๅธธใฎใๆตฎๅๅฐๆฐ็น่กจ่จใใใคใพใๆญฃ็ขบใช10้ฒๅคใพใใฏ16้ฒๅคใ่กจใใฆใใใจ่ฆใชใใใพใใใใฎๆญฃ็ขบใชๆฐๅคใฏใๆฆๅฟตไธใฏใ็ก้ใซๆญฃ็ขบใชใใคใใชๅคใใซๅคๆใใใฆใใใIEEE 754ๆตฎๅๅฐๆฐ็น่จ็ฎๆณใซใใ้ๅธธใฎๆ่ฟไผผๅคไธธใๆณ(ใผใญๅคใฎ็ฌฆๅทไฟๆใๅซใ)ใซๅพใฃใฆdoubleๅใซไธธใใใใพใใ ๆ่ฟไผผๅคไธธใๆณใฏใใชใผใใผใใญใผใใขใณใใผใใญใผใฎๅไฝใ็บ็ใใใใจใๆๅณใใพใใsใฎๆญฃ็ขบใชๅคใฎ็ตถๅฏพๅคใๅๅๅคงใใๅ ดๅ(MAX_VALUE + ulp(MAX_VALUE)/2ไปฅไธใฎๅ ดๅ)ใdoubleใซไธธใใใจ็ก้ๅคงใซใชใใsใฎๆญฃ็ขบใชๅคใๅๅๅฐใใๅ ดๅ(MIN_VALUE/2ไปฅไธใฎๅ ดๅ)ใfloat ใซไธธใใใจใผใญใซใชใใใจใซๆณจๆใใฆใใ ใใใ ๆๅพใซใไธธใใๅฎไบใใใใใใฎdoubleๅคใ่กจใDoubleใชใใธใงใฏใใ่ฟใใใพใใ
ๆตฎๅๅฐๆฐ็นๅคใฎใญใผใซใฉใคใบใใใๆๅญๅ่กจ็พใ่งฃ้ใใๅ ดๅใNumberFormatใฎใตใใฏใฉในใไฝฟ็จใใพใใ
ๆซๅฐพใฎๅฝขๅผๆๅฎๅญใคใพใๆตฎๅๅฐๆฐ็นใชใใฉใซใฎ็จฎ้กใๆฑบๅฎใใๆๅฎๅญ(1.0fใฏfloatๅคใ1.0dใฏdoubleๅค)ใฏใใใฎใกใฝใใใฎ็ตๆใซไธใใพใใใ ใคใพใใๅ
ฅๅๆๅญๅใฎๆฐๅคใฏใใฟใผใฒใใใฎๆตฎๅๅฐๆฐ็นๅใซ็ดๆฅๅคๆใใใพใใ ๆๅญๅใfloatใซๅคๆใใfloatใdoubleใซๅคๆใใ2ในใใใใฎใทใผใฑใณในใฏใๆๅญๅใdoubleใซๅคๆใใใฎใจ็ญไพกใงใฏใใใพใใใ ใใจใใฐใfloatใชใใฉใซ0.1fใฏdoubleๅค0.10000000149011612ใจ็ญไพกใงใใfloatใชใใฉใซ0.1fใฏdoubleใชใใฉใซ0.1ใจใฏ็ฐใชใๆฐๅคใ่กจใใพใใ ๆฐๅค0.1ใใใคใใชๆตฎๅๅฐๆฐ็นๆฐใงๆญฃ็ขบใซ่กจใใใจใฏใงใใพใใใ
็กๅนใชๆๅญๅใงใใฎใกใฝใใใๅผใณๅบใใใใใNumberFormatExceptionใในใญใผใใใใใใชใใใใซใใใซใฏใๆฌกใฎๆญฃ่ฆ่กจ็พใไฝฟใฃใฆๅ
ฅๅๆๅญๅใในใฏใชใผใใณใฐใงใใพใใ
final String Digits = "(\\p{Digit}+)";
final String HexDigits = "(\\p{XDigit}+)";
// an exponent is 'e' or 'E' followed by an optionally
// signed decimal integer.
final String Exp = "[eE][+-]?"+Digits;
final String fpRegex =
("[\\x00-\\x20]*"+ // Optional leading "whitespace"
"[+-]?(" + // Optional sign character
"NaN|" + // "NaN" string
"Infinity|" + // "Infinity" string
// A decimal floating-point string representing a finite positive
// number without a leading sign has at most five basic pieces:
// Digits . Digits ExponentPart FloatTypeSuffix
//
// Since this method allows integer-only strings as input
// in addition to strings of floating-point literals, the
// two sub-patterns below are simplifications of the grammar
// productions from section 3.10.2 of
// The Java Language Specification.
// Digits ._opt Digits_opt ExponentPart_opt FloatTypeSuffix_opt
"((("+Digits+"(\\.)?("+Digits+"?)("+Exp+")?)|"+
// . Digits ExponentPart_opt FloatTypeSuffix_opt
"(\\.("+Digits+")("+Exp+")?)|"+
// Hexadecimal strings
"((" +
// 0[xX] HexDigits ._opt BinaryExponent FloatTypeSuffix_opt
"(0[xX]" + HexDigits + "(\\.)?)|" +
// 0[xX] HexDigits_opt . HexDigits BinaryExponent FloatTypeSuffix_opt
"(0[xX]" + HexDigits + "?(\\.)" + HexDigits + ")" +
")[pP][+-]?" + Digits + "))" +
"[fFdD]?))" +
"[\\x00-\\x20]*");// Optional trailing "whitespace"
if (Pattern.matches(fpRegex, myString))
Double.valueOf(myString); // Will not throw NumberFormatException
else {
// Perform suitable alternative action
}
s - ่งฃๆใใใๆๅญๅใStringๅผๆฐใซใใ่กจใใใๅคใไฟๆใใDoubleใชใใธใงใฏใใNumberFormatException - ๆๅญๅใ่งฃๆๅฏ่ฝใชๆฐๅคใๅซใพใชใๅ ดๅใpublic static Double valueOf(double d)
doubleๅคใ่กจใDoubleใคใณในใฟใณในใ่ฟใใพใใ ๆฐ่ฆDoubleใคใณในใฟใณในใไธ่ฆใชๅ ดๅใ้ๅธธใใฎใกใฝใใใใณใณในใใฉใฏใฟDouble(double)ใซๅชๅ
ใใฆไฝฟ็จใใใพใใใใฎ็็ฑใฏใใใฎใกใฝใใใ้ ป็นใซ่ฆๆฑใใใๅคใใญใฃใใทใฅใใใฎใงใๆไฝใซๅฟ
่ฆใช้ ๅใๆ้ใใฏใใใซๅฐใชใใฆๆธใๅ ดๅใๅคใใใใงใใ d - doubleๅคใdใ่กจใDoubleใคใณในใฟใณในใpublic static double parseDouble(String s) throws NumberFormatException
DoubleใฏใฉในใฎvalueOfใกใฝใใใๅฎ่กใใๅ ดๅใจๅๆงใซใๆๅฎใใใStringใ่กจใๅคใซๅๆๅใใใๆฐใใdoubleๅคใ่ฟใใพใใs - ่งฃๆใใใๆๅญๅใdoubleๅคใNullPointerException - ๆๅญๅใnullใฎๅ ดๅNumberFormatException - ๆๅญๅใ่งฃๆๅฏ่ฝใชdoubleใๅซใพใชใๅ ดๅvalueOf(String)public static boolean isNaN(double v)
trueใใใใใงใชใๅ ดๅใฏfalseใ่ฟใใพใใv - ๅคๅฎใใใๅคใtrueใใใใงใชใๅ ดๅใฏfalseใpublic static boolean isInfinite(double v)
trueใใใใใงใชใๅ ดๅใซใฏfalseใ่ฟใใพใใv - ๅคๅฎใใใๅคใtrueใใใใงใชใๅ ดๅใฏfalseใpublic static boolean isFinite(double d)
trueใ่ฟใใใใใงใชใๅ ดๅ(NaNใใใณ็ก้ๅคงใฎๅผๆฐใฎๅ ดๅ)ใฏfalseใ่ฟใใพใใd - ๅคๅฎใใใdoubleๅคtrueใใใไปฅๅคใฎๅ ดๅใฏfalsepublic boolean isNaN()
Doubleๅคใ้ๆฐ(NaN)ใงใใๅ ดๅใซใฏtrueใใใใใงใชใๅ ดๅใฏfalseใ่ฟใใพใใtrueใใใใงใชใๅ ดๅใฏfalseใpublic boolean isInfinite()
Doubleๅคใฎ็ตถๅฏพๅคใ็ก้้ใงใใๅ ดๅใซใฏtrueใใใใใงใชใๅ ดๅใซใฏfalseใ่ฟใใพใใtrueใใใใงใชใๅ ดๅใฏfalseใpublic String toString()
Doubleใชใใธใงใฏใใฎๆๅญๅ่กจ็พใ่ฟใใพใใ ใใฎใชใใธใงใฏใใ่กจใใใชใใใฃใdoubleๅคใฏใ1ใคใฎๅผๆฐใๅใtoStringใกใฝใใใๅฎ่กใใๅ ดๅใจๅใๆๅญๅใซๅคๆใใใพใใ toStringใใฏใฉในObjectString่กจ็พใtoString(double)public byte byteValue()
Doubleใฎ็ธฎๅฐใใชใใใฃใๅคๆๅพใฎๅคใbyteใจใใฆ่ฟใใพใใpublic short shortValue()
Doubleใฎ็ธฎๅฐใใชใใใฃใๅคๆๅพใฎๅคใshortใจใใฆ่ฟใใพใใshortValueใใฏใฉในNumberdoubleๅคใshortๅใซๅคๆใใใใฎpublic int intValue()
Doubleใฎ็ธฎๅฐใใชใใใฃใๅคๆๅพใฎๅคใintใจใใฆ่ฟใใพใใpublic long longValue()
Doubleใฎ็ธฎๅฐใใชใใใฃใๅคๆๅพใฎๅคใlongใจใใฆ่ฟใใพใใpublic float floatValue()
Doubleใฎ็ธฎๅฐใใชใใใฃใๅคๆๅพใฎๅคใfloatใจใใฆ่ฟใใพใใfloatValueใใฏใฉในNumberdoubleๅคใfloatๅใซๅคๆใใใใฎpublic double doubleValue()
Doubleใชใใธใงใฏใใฎdoubleๅคใ่ฟใใพใใdoubleValueใใฏใฉในNumberdoubleๅคpublic int hashCode()
Doubleใชใใธใงใฏใใฎใใใทใฅใปใณใผใใ่ฟใใพใใ ่จ็ฎใใใ็ตๆใฏใdoubleToLongBits(double)ใกใฝใใใฎ็ตๆใจใพใฃใใๅใใใใซใใใฎDoubleใชใใธใงใฏใใ่กจใใใชใใใฃใdoubleๅคใฎlongๆดๆฐใใใใ่กจ็พใใไธไฝ32ใใใใจไธไฝ32ใใใใฎๆไป็่ซ็ๅใซใชใใพใใ ใใชใใกใใใใทใฅใปใณใผใใฏๆฌกใฎๅผใฎๅคใงใใ
(int)(v^(v>>>32))
ใใ ใใvใฏๆฌกใฎๅผใซใใฃใฆๅฎ็พฉใใใพใใ
long v = Double.doubleToLongBits(this.doubleValue());
hashCodeใใฏใฉในObjectใใใทใฅใปใณใผใๅคใObject.equals(java.lang.Object), System.identityHashCode(java.lang.Object)public static int hashCode(double value)
Double.hashCode()ใจใฎไบๆๆงใใใใdoubleๅคใฎใใใทใฅใปใณใผใใ่ฟใใพใใvalue - ใใใทใฅๅฏพ่ฑกใฎๅคdoubleๅคใฎใใใทใฅใปใณใผใๅคใpublic boolean equals(Object obj)
trueใซใชใใฎใฏใๅผๆฐใnullใงใชใใใใฎใชใใธใงใฏใใ่กจใdoubleๅคใจๅใๅคใไฟๆใใdoubleใ่กจใDoubleใชใใธใงใฏใใงใใๅ ดๅใ ใใงใใ ใใฎใใใ2ใคใฎdoubleๅคใ็ญใใใจ่ฆใชใใใใฎใฏใdoubleToLongBits(double)ใกใฝใใใๅๅคใซ้ฉ็จใใใจใใซๅไธใฎlongๅคใ่ฟใใใๅ ดๅใ ใใงใใ
ใปใจใใฉใฎๅ ดๅใใฏใฉในDoubleใฎ2ใคใฎใคใณในใฟใณในd1ใจd2ใซใคใใฆใd1.equals(d2)ใฎๅคใtrueใซใชใใฎใฏใ
d1.doubleValue() == d2.doubleValue()
ไธ่จใฎๅคใtrueใซใชใๅ ดๅใ ใใงใใ ใใใใไพๅคไบ้
ใ2ใคใใใพใใ
d1ใจd2ใใฉใกใใDouble.NaNใ่กจใใฆใใๅ ดๅใDouble.NaN==Double.NaNใฎๅคใfalseใซใชใใซใใใใใใใequalsใกใฝใใใใใฏtrueใ่ฟใใใพใใ
d1ใ+0.0ใ่กจใใd2ใ-0.0ใ่กจใใฆใใๅ ดๅใใใใใฏใใฎ้ใฎๅ ดๅใ+0.0==-0.0ใฎๅคใtrueใซใชใใซใใใใใใใequalใในใใฎๅคใฏfalseใซใชใใพใใ
equalsใใฏใฉในObjectobj - ๆฏ่ผๅฏพ่ฑกใฎใชใใธใงใฏใใtrueใใใใงใชใๅ ดๅใฏfalseใdoubleToLongBits(double)public static long doubleToLongBits(double value)
ใใใ63 (ใในใฏ0x8000000000000000Lใซใใฃใฆ้ธๆใใใใใใ)ใฏใๆตฎๅๅฐๆฐ็นใฎ็ฌฆๅทใ่กจใใพใใ ใใใ62-52 (ใในใฏ0x7ff0000000000000Lใซใใฃใฆ้ธๆใใใใใใ)ใฏใๆๆฐใ่กจใใพใใ ใใใ51-0 (ใในใฏ0x000fffffffffffffLใซใใฃใฆ้ธๆใใใใใใ)ใฏใๆตฎๅๅฐๆฐ็นใฎๆๅนๅค(ไปฎๆฐใจๅผใฐใใๅ ดๅใใใ)ใ่กจใใพใใ
ๅผๆฐใๆญฃใฎ็ก้ๅคงใฎๅ ดๅใ็ตๆใฏ0x7ff0000000000000Lใซใชใใพใใ
ๅผๆฐใ่ฒ ใฎ็ก้ๅคงใฎๅ ดๅใ็ตๆใฏ0xfff0000000000000Lใซใชใใพใใ
ๅผๆฐใNaNใฎๅ ดๅใ็ตๆใฏ0x7ff8000000000000Lใซใชใใพใใ
ใฉใฎๅ ดๅใใ่ฟใใใๅคใฏlongๆดๆฐใงใใใlongBitsToDouble(long)ใกใฝใใใๆๅฎใใใจใdoubleToLongBitsใธใฎๅผๆฐใจๅใๆตฎๅๅฐๆฐ็นๅคใซใชใใพใ(ใในใฆใฎNaNๅคใๅไธใฎใๆญฃ่ฆใNaNๅคใซๅ็ดใใใใใจใ้คใ)ใ
value - double็ฒพๅบฆใฎๆตฎๅๅฐๆฐ็นๅคใpublic static long doubleToRawLongBits(double value)
ใใใ63 (ใในใฏ0x8000000000000000Lใซใใฃใฆ้ธๆใใใใใใ)ใฏใๆตฎๅๅฐๆฐ็นใฎ็ฌฆๅทใ่กจใใพใใ ใใใ62-52 (ใในใฏ0x7ff0000000000000Lใซใใฃใฆ้ธๆใใใใใใ)ใฏใๆๆฐใ่กจใใพใใ ใใใ51-0 (ใในใฏ0x000fffffffffffffLใซใใฃใฆ้ธๆใใใใใใ)ใฏใๆตฎๅๅฐๆฐ็นใฎๆๅนๅค(ไปฎๆฐใจๅผใฐใใๅ ดๅใใใ)ใ่กจใใพใใ
ๅผๆฐใๆญฃใฎ็ก้ๅคงใฎๅ ดๅใ็ตๆใฏ0x7ff0000000000000Lใซใชใใพใใ
ๅผๆฐใ่ฒ ใฎ็ก้ๅคงใฎๅ ดๅใ็ตๆใฏ0xfff0000000000000Lใซใชใใพใใ
ๅผๆฐใNaNใฎๅ ดๅใ่ฟใใใๅคใฏๅฎ้ใฎNaNๅคใ็คบใlongๆดๆฐใงใใ doubleToLongBitsใกใฝใใใจใฏ็ฐใชใใdoubleToRawLongBitsใกใฝใใใใใในใฆใฎใใใใปใใฟใผใณ็ฌฆๅทๅNaNใๅไธใฎใๆญฃ่ฆใNaNๅคใซๅ็ดใใใใจใฏใใใพใใใ
ใฉใฎๅ ดๅใใ่ฟใใใๅคใฏlongๆดๆฐใงใใใlongBitsToDouble(long)ใกใฝใใใๆๅฎใใใจใdoubleToRawLongBitsใธใฎๅผๆฐใจๅใๆตฎๅๅฐๆฐ็นๅคใซใชใใพใใ
value - double็ฒพๅบฆใฎๆตฎๅๅฐๆฐ็นๅคใpublic static double longBitsToDouble(long bits)
doubleๅคใ่ฟใใพใใ ๅผๆฐใฏใIEEE 754ๆตฎๅๅฐๆฐ็นใๅ็ฒพๅบฆใใใใ้
ๅใซๅพใฃใๆตฎๅๅฐๆฐ็น่กจ็พใจ่ฆใชใใใพใใ
ๅผๆฐใ0x7ff0000000000000Lใฎๅ ดๅใ็ตๆใฏๆญฃใฎ็ก้ๅคงๅคใซใชใใพใใ
ๅผๆฐใ0xfff0000000000000Lใฎๅ ดๅใ็ตๆใฏ่ฒ ใฎ็ก้ๅคงๅคใซใชใใพใใ
ๅผๆฐใ0x7ff0000000000001Lใใ0x7fffffffffffffffLใใพใใฏ0xfff0000000000001Lใใ0xffffffffffffffffLใฎ็ฏๅฒๅ
ใฎๅคใงใใๅ ดๅใ็ตๆใฏNaNใซใชใใพใใ JavaใซใใๆไพใใใIEEE 754ๆตฎๅๅฐๆฐ็นๆไฝใฏใ็ฐใชใใใใใปใใฟใผใณใๆใคๅใๅใฎ2ใคใฎNaNๅคใ่ญๅฅใงใใพใใใ ๅๅฅใฎNaNๅคใ่ญๅฅใงใใใฎใฏใDouble.doubleToRawLongBitsใกใฝใใใไฝฟ็จใใๅ ดๅใ ใใงใใ
ใใฎใปใใฎๅ ดๅใงใฏใsใeใใใใณmใฎ3ใคใฎๅคใซใคใใฆๆฌกใฎๅผๆฐใใ่จ็ฎใงใใใจใใพใใ
ใใฎๅ ดๅใๆตฎๅๅฐๆฐ็นๅคใฎ็ตๆใฏใๆฐๅผsยทmยท2e-1075ใฎๅคใจ็ญใใใชใใพใใint s = ((bits >> 63) == 0) ? 1 : -1; int e = (int)((bits >> 52) & 0x7ffL); long m = (e == 0) ? (bits & 0xfffffffffffffL) << 1 : (bits & 0xfffffffffffffL) | 0x10000000000000L;
ใใฎใกใฝใใใฏใlongๅผๆฐใจใพใฃใใๅใใใใใปใใฟใผใณใๆใคdouble NaNใ่ฟใใใจใใงใใชใๅฏ่ฝๆงใใใใพใใ IEEE 754ใงใฏใ2็จฎ้กใฎNaN (ใใทใฐใใซใ็บ็ใใชใNaNใใจใใทใฐใใซใ็บ็ใใNaNใ)ใๅบๅฅใใพใใ 2็จฎ้กใฎNaNใฎ้ใใฏใ้ๅธธJavaใงใฏ็ขบ่ชใงใใพใใใ ใทใฐใใซใ็บ็ใใNaNใงใฎ็ฎ่กๆผ็ฎใงใฏใใทใฐใใซใ็บ็ใใNaNใใ็ฐ็จฎใงใใใชใใๅๆงใฎใใใใปใใฟใผใณใๆใคใทใฐใใซใ็บ็ใใชใNaNใซๅคใใใพใใ ใใ ใใใทใฐใใซใ็บ็ใใNaNใๅใซใณใใผใใไธ้จใฎใใญใปใใตใใใใฎๅคๆใ่กใใพใใ ็นใซใใทใฐใใซใ็บ็ใใNaNใใณใใผใใฆใๅผๅบใๅดใฎใกใฝใใใซ่ฟใใใจใงใใใฎๅคๆใๅฎ่กใงใใพใใ ใใใใฃใฆใlongBitsToDoubleใฏใใทใฐใใซใ็บ็ใใNaNใใใใปใใฟใผใณใๆใคdoubleใ่ฟใใใจใใงใใชใๅฏ่ฝๆงใใใใพใใ ใใใใฃใฆใไธ้จใฎlongๅคใงใฏใdoubleToRawLongBits(longBitsToDouble(start))ใstartใจ็ญใใใชใใชใใใจใใใใพใใ ๅ ใใฆใใฉใฎ็นๅฎใฎใใใใปใใฟใผใณใใทใฐใใซใ็บ็ใใNaNใ่กจใใใฏใใใฉใใใใฉใผใ ใซใใฃใฆ็ฐใชใใพใใใทใฐใใซใ็บ็ใใชใใใทใฐใใซใ็บ็ใใใใซใใใใใใใในใฆใฎNaNใใใใปใใฟใผใณใฏไธใซ็คบใNaNใฎ็ฏๅฒใซใชใใใฐใใใพใใใ
bits - ไปปๆใฎlongๆดๆฐใdoubleๆตฎๅๅฐๆฐ็นๅคใpublic int compareTo(Double anotherDouble)
Doubleใชใใธใงใฏใใๆฐๅค็ใซๆฏ่ผใใพใใ ใใฎใกใฝใใใซใใๆฏ่ผใฏใJava่จ่ชใฎๆฐๅคๆฏ่ผๆผ็ฎๅญ(<,<=,==,>=,>)ใใใชใใใฃใdoubleๅคใซ้ฉ็จใใๅ ดๅใจใฏใๆฌกใฎ2็นใง็ฐใชใใพใใ
Double.NaNใฏ่ช่บซใซ็ญใใใใปใใฎใในใฆใฎdoubleๅค(Double.POSITIVE_INFINITYใๅซใ)ใใใๅคงใใใจใฟใชใใใใ
0.0dใฏ-0.0dใใๅคงใใใจใฟใชใใใใ
Doubleใชใใธใงใฏใใฎ่ช็ถ้ ๅบไปใใงใequalsใจใฎไธ่ฒซๆงใ็ขบไฟใใใพใใcompareToใใคใณใฟใใงใผในComparable<Double>anotherDouble - ๆฏ่ผๅฏพ่ฑกใฎDoubleใanotherDoubleใใใฎDoubleใจๅใๆฐๅคใฎๅ ดๅใฏๅค0ใDoubleใanotherDoubleใใๅฐใใๆฐๅคใฎๅ ดๅใฏ0ใใๅฐใใๅคใDoubleใanotherDoubleใใๅคงใใๆฐๅคใฎๅ ดๅใฏ0ใใๅคงใใๅคใpublic static int compare(double d1,
double d2)
doubleๅคใๆฏ่ผใใพใใ ่ฟใใใๆดๆฐๅคใฎ็ฌฆๅทใฏใๆฌกใฎๅผๅบใใง่ฟใใใๆดๆฐใฎ็ฌฆๅทใจๅใใซใชใใพใใ
new Double(d1).compareTo(new Double(d2))
d1 - ๆฏ่ผใใๆๅใฎdoubled2 - ๆฏ่ผใใ2็ช็ฎใฎdoubled1ใใใฎd2ใจๅใๆฐๅคใฎๅ ดๅใฏๅค0ใd1ใd2ใใๅฐใใๆฐๅคใฎๅ ดๅใฏ0ใใๅฐใใๅคใd1ใd2ใใๅคงใใๆฐๅคใฎๅ ดๅใฏ0ใใๅคงใใๅคใpublic static double sum(double a,
double b)
doubleๅคใๅ ็ฎใใพใใa - ็ฌฌ1ใชใใฉใณใb - ็ฌฌ2ใชใใฉใณใaใจbใฎๅ่จBinaryOperatorpublic static double max(double a,
double b)
Math.maxใๅผใณๅบใใๅ ดๅใจๅๆงใซใ2ใคใฎdoubleๅคใฎๅคงใใใปใใ่ฟใใพใใa - ็ฌฌ1ใชใใฉใณใb - ็ฌฌ2ใชใใฉใณใaใจbใฎใฉใกใใๅคงใใๆนBinaryOperatorpublic static double min(double a,
double b)
Math.minใๅผใณๅบใใๅ ดๅใจๅๆงใซใ2ใคใฎdoubleๅคใฎๅฐใใใปใใ่ฟใใพใใa - ็ฌฌ1ใชใใฉใณใb - ็ฌฌ2ใชใใฉใณใaใจbใฎใฉใกใใๅฐใใๆนใBinaryOperator ใใฐใพใใฏๆฉ่ฝใ้ไฟก
่ฉณ็ดฐใชAPIใชใใกใฌใณในใใใณ้็บ่
ใใญใฅใกใณใใซใคใใฆใฏใJava SEใฎใใญใฅใกใณใใๅ็
งใใฆใใ ใใใ ใใฎใใญใฅใกใณใใซใฏใๆฆๅฟต็ใชๆฆ่ฆใ็จ่ชใฎๅฎ็พฉใๅ้ฟๆนๆณใๆๅนใชใณใผใไพใชใฉใฎใ้็บ่
ใๅฏพ่ฑกใซใใใใ่ฉณ็ดฐใช่ชฌๆใๅซใพใใฆใใพใใ
Copyright ยฉ 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyใๅ็
งใใฆใใ ใใใ