std::setprecision and scientific format

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Woodster

    std::setprecision and scientific format

    I am using the std::setprecisi on function to format variables of type
    double in a string however I am unsure how to stop this appearing in
    scientific notation.

    For example

    std::stringstre am buffer;

    buffer << setprecision(1) << 40.0 << "° C";

    produces the string

    04e+01° C

    in buffer.

    Ideally I would like this to be

    40° C

    but I think I will have to settle for 40.0° C if I want to cater for
    other values where the single decimal place is required.

    How do I use setprecision an not get scientific notation as the output?

    Thanks in advance

    Sean Hannan
  • Woodster

    #2
    Re: std::setprecisi on and scientific format

    In article <MPG.1a1f01dc56 c9edb798968c@ne ws.westnet.com. au>, mirror@
    127.0.0.1 says...

    Sorry the line
    [color=blue]
    > 04e+01° C[/color]

    should read

    4e+01° C

    there is no leading 0

    Comment

    • Senthilvel Samatharman

      #3
      Re: std::setprecisi on and scientific format

      Woodster wrote:
      [color=blue]
      > I am using the std::setprecisi on function to format variables of type
      > double in a string however I am unsure how to stop this appearing in
      > scientific notation.
      >
      > For example
      >
      > std::stringstre am buffer;
      >
      > buffer << setprecision(1) << 40.0 << "° C";
      >
      > produces the string
      >
      > 04e+01° C
      >
      > in buffer.
      >
      > Ideally I would like this to be
      >
      > 40° C
      >
      > but I think I will have to settle for 40.0° C if I want to cater for
      > other values where the single decimal place is required.
      >
      > How do I use setprecision an not get scientific notation as the output?[/color]

      Use the manipulator "fixed" to get rid of scientific notation..
      See John Bell's example for your previous post...
      buffer << fixed << setprecision(3) << 40.0 << " C";
      [color=blue]
      >
      >
      > Thanks in advance
      >
      > Sean Hannan[/color]

      Comment

      Working...