Try the following: Double.parseDouble("0x0.DAB789Bp0").
The p0 means that the part on its left side is multiplied by ( 2 ^ 0 ) = 1.
Sources:
- Double.valueOf (Java API - referred to from the API documentation of Double.parseDouble)
- Hexadecimal Floating-Point Literals (Blog - Joseph D. Darcy)
Floating-Point Literals (JLS - 3.10.2):
A floating-point literal has the following parts: a whole-number part, a decimal or hexadecimal point (represented by an ASCII period character), a fractional part, an exponent, and a type suffix.
A floating point number may be written either as a decimal value or as a hexadecimal value.
For decimal literals, the exponent, if present, is indicated by the ASCII letter e or E followed by an optionally signed integer.
For hexadecimal literals, the exponent is always required and is indicated by the ASCII letter p or P followed by an optionally signed integer.
mvmalderen
Posting Maven
2,612 posts since Feb 2009
Reputation Points: 2,221
Solved Threads: 280
Skill Endorsements: 36
Question Answered as of 3 Months Ago by
mvmalderen