digitalmars.D.learn - Float to string with more digits?
- Almighty Bob (4/4) Feb 24 2015 Is there a more accurate way to do a float and or double to
- Justin Whear (5/11) Feb 24 2015 Use std.string.format or std.format.formattedWrite. std.format contains...
- Almighty Bob (3/18) Feb 24 2015 that did it, thanks,
- Almighty Bob (6/6) Feb 24 2015 Just to clarify what i needed was...
- H. S. Teoh via Digitalmars-d-learn (13/19) Feb 24 2015 What about std.format.format("%.12f", myFloat)?
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.
Feb 24 2015
On Tue, 24 Feb 2015 20:04:04 +0000, 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.
Feb 24 2015
On Tuesday, 24 February 2015 at 20:08:55 UTC, Justin Whear wrote:On Tue, 24 Feb 2015 20:04:04 +0000, Almighty Bob wrote:that did it, thanks, :)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.
Feb 24 2015
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.
Feb 24 2015
On Tue, Feb 24, 2015 at 08:04:04PM +0000, 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...
Feb 24 2015