Float to string with more digits?

2015-02-24 Thread Almighty Bob via Digitalmars-d-learn
Is there a more accurate way to do a float and or double to 
string than...


to!string(float);

As that seems to limit itself to 6 digits.


Re: Float to string with more digits?

2015-02-24 Thread Almighty Bob via Digitalmars-d-learn

On Tuesday, 24 February 2015 at 20:08:55 UTC, Justin Whear wrote:

On Tue, 24 Feb 2015 20:04:04 +, Almighty Bob wrote:

Is there a more accurate way to do a float and or double to 
string

than...

to!string(float);

As that seems to limit itself to 6 digits.


Use std.string.format or std.format.formattedWrite.  std.format 
contains
a description of the various format specifiers.  You'll 
probably want
something like %.12f, which formats a floating point number 
with 12

digits of precision.


that did it, thanks,

:)


Re: Float to string with more digits?

2015-02-24 Thread H. S. Teoh via Digitalmars-d-learn
On Tue, Feb 24, 2015 at 08:04:04PM +, Almighty Bob via Digitalmars-d-learn 
wrote:
 Is there a more accurate way to do a float and or double to string
 than...
 
 to!string(float);
 
 As that seems to limit itself to 6 digits.

What about std.format.format(%.12f, myFloat)?

Or, if you like:

string floatToString(F)(F f)
if (isFloatingPoint!F)
{
// Extract as many digits as are available for this
// type.
return std.format.format(%.*f, F.dig, f);
}


T

-- 
If you want to solve a problem, you need to address its root cause, not just 
its symptoms. Otherwise it's like treating cancer with Tylenol...


Re: Float to string with more digits?

2015-02-24 Thread Justin Whear via Digitalmars-d-learn
On Tue, 24 Feb 2015 20:04:04 +, Almighty Bob wrote:

 Is there a more accurate way to do a float and or double to string
 than...
 
 to!string(float);
 
 As that seems to limit itself to 6 digits.

Use std.string.format or std.format.formattedWrite.  std.format contains 
a description of the various format specifiers.  You'll probably want 
something like %.12f, which formats a floating point number with 12 
digits of precision.


Re: Float to string with more digits?

2015-02-24 Thread Almighty Bob via Digitalmars-d-learn

Just to clarify what i needed was...

%.8g  or  %.7e

Significant digits, or fixed width scientific form. I needed more 
significant digits.


%.8f controls how many digits to print after the decimal point, 
which is not the same thing.