Re: Printing a floats in maximum precision

2017-01-18 Thread kinke via Digitalmars-d-learn
On Wednesday, 18 January 2017 at 03:36:39 UTC, Nicholas Wilson 
wrote:
Alternatively use %a to print in hex to verify exact bit 
patterns.


+1, if it doesn't have to be human-readable.


Re: Printing a floats in maximum precision

2017-01-17 Thread Basile B. via Digitalmars-d-learn

On Wednesday, 18 January 2017 at 00:09:42 UTC, Nordlöw wrote:

What's the easiest way to print a double in maximum precision?


%.6g for floats and %.17g for doubles. This is for example what's 
used on std.json to get a perfect conversion from string to 
value. the number is the maximum number of digits in the 
fractional part.


6 and 17 are rounded, real values can be found  here 
(https://en.wikipedia.org/wiki/Floating_point#Internal_representation)


see also:

http://stackoverflow.com/questions/16839658/printf-width-specifier-to-maintain-precision-of-floating-point-value/21162120#21162120

and this

https://github.com/dlang/phobos/pull/4343#issuecomment-220810593


Re: Printing a floats in maximum precision

2017-01-17 Thread Nicholas Wilson via Digitalmars-d-learn

On Wednesday, 18 January 2017 at 00:23:37 UTC, pineapple wrote:

On Wednesday, 18 January 2017 at 00:09:42 UTC, Nordlöw wrote:

What's the easiest way to print a double in maximum precision?


https://github.com/pineapplemachine/mach.d/blob/master/mach/text/numeric/floats.d#L60

You can also try the formatting directive "%.20f" but unlike 
the former I can't offer any guarantees of its accuracy (it's 
probably accurate)


Alternatively use %a to print in hex to verify exact bit patterns.


Re: Printing a floats in maximum precision

2017-01-17 Thread pineapple via Digitalmars-d-learn

On Wednesday, 18 January 2017 at 00:09:42 UTC, Nordlöw wrote:

What's the easiest way to print a double in maximum precision?


https://github.com/pineapplemachine/mach.d/blob/master/mach/text/numeric/floats.d#L60

You can also try the formatting directive "%.20f" but unlike the 
former I can't offer any guarantees of its accuracy (it's 
probably accurate)