Solved

double to String in c++ linux

Posted on 2004-08-03
9
905 Views
Last Modified: 2007-12-19
I want to convert double to string in C++(linux) I know that there is  _ecvt function,
but for only interger that means if I have 10.5 the out put will be 10 only and also I must specifiy the long of number(how many digit)
void main()
      {
         double test=4.125;
         double test;
         char *result;
         int decimalpt, sign;
         cout<<" Enter a number : " ;
         cin>>test;
          printf ("\n Input was %g \n", test);
                 // so here I must menstion 3
         result = _ecvt(test, 3, &decimalpt, &sign);
        
         printf (" \n Result string is '%s'\n", result);
           */
         // strFinalVal contains 4.125
      }
what I want I only want to convert from double to string in any way.
Thank You  
0
Comment
Question by:albusaidi
9 Comments
 
LVL 2

Expert Comment

by:sin_
ID: 11703034
why don't you use sprintf?
sprintf(result,"%5lf",test);
0
 

Expert Comment

by:aakash_mandhar
ID: 11703393
Ok... I would say using sprintf.
spritnf(string,"%lf",double_number);
Should do the trick....

Regards
Aakash
0
 

Author Comment

by:albusaidi
ID: 11704239

Our friend I know this, but this is only for Example but I want this value to be String!!!!!!
0
IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

 
LVL 14

Expert Comment

by:Daniel Junges
ID: 11704467
use this

double value = 4.125;
char str[10];
sprintf(str, "%.4f", value);

junges
0
 
LVL 9

Accepted Solution

by:
tinchos earned 50 total points
ID: 11704768
try with


      /**
      * Converts a double into a string with n decimal characters.
      * @param d The double to convert.
      * @param n The number of digits to the right of the decimal point.
      * @return Thr resulting string.
      */
      std::string doubleToString( double d, int decimals )
      {
            std::stringstream ss;

            ss.precision( decimals );            // set precision
            ss.setf( std::ios::fixed );     // get rid off the scientific notation

            ss << d;
            return ss.str ();
      }

Hope this helps

Tincho
0
 
LVL 4

Expert Comment

by:AssafLavie
ID: 11722004
I like to use the following template function, that converts all streamable types to strings:

template<typename T> string toString(const T& source)
{
  ostringstream oss;
  oss << source;
  return oss.str();
}

Then, for floats, you can do:
string s = toString(5.4);

But it would also work for ints, bools, etc.
The opposite conversion is simliar.
0

Featured Post

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

When writing generic code, using template meta-programming techniques, it is sometimes useful to know if a type is convertible to another type. A good example of when this might be is if you are writing diagnostic instrumentation for code to generat…
Article by: SunnyDark
This article's goal is to present you with an easy to use XML wrapper for C++ and also present some interesting techniques that you might use with MS C++. The reason I built this class is to ease the pain of using XML files with C++, since there is…
The goal of the tutorial is to teach the user how to use functions in C++. The video will cover how to define functions, how to call functions and how to create functions prototypes. Microsoft Visual C++ 2010 Express will be used as a text editor an…
The viewer will learn how to clear a vector as well as how to detect empty vectors in C++.

705 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

21 Experts available now in Live!

Get 1:1 Help Now