Converting between Strings and Numeric Data

The IString class provides a number of as... functions that convert from IString objects to numeric types. You can also convert from numeric types to IString objects by using the versions of the IString constructor that take numeric values as arguments. The following example shows various IString functions that convert between strings and numbers:

// Conversion between IString and numeric values
#include <iostream.h>
#include <istring.hpp>
void main() {
   IString NumStr=1.4512356919E1;     // Initialized with a float value
   int Integer=NumStr.asInt();        // Convert to integer value
   float Float=NumStr.asDouble();     // C++ conversion rules allow asDouble's
                                      // result to be converted to float 
   double Double=NumStr.asDouble();   // Convert to double value
   NumStr=688;                        // Assign another integer value 
   cout.precision(20);                // Set precision of cout stream
   cout << "Integer: " << Integer << "\nFloat: " << Float
        << "\nDouble: " << Double << "\nString: " << NumStr << endl;
   } 

This program produces the following output:

Integer: 14
Float:   14.512356758117676
Double:  14.512356919
String:  688

You can also change the base notation of IString objects containing integer numbers, by using the d2b, d2x or d2c functions, which convert from decimal to binary, hexadecimal, or character representations.