N
places after the decimal point. All arithmetic follows the usual rules.
More...
#include <fixed.hpp>
Public Types | |
typedef T | value_type |
Type of the actual value. | |
Public Member Functions | |
fixed () | |
Default constructor initializes to zero. | |
fixed (value_type integer, value_type fraction) | |
fixed (value_type integer) | |
Construct from an integer with no fractional part. | |
fixed (double value) | |
Construct by rounding off a floating point number. | |
std::string | as_string () const |
template<class Char, class Traits> | |
bool | read (std::basic_istream< Char, Traits > &strm) |
double | as_long_double () const |
Convert to long double. | |
double | as_double () const |
Convert to double. | |
float | as_float () const |
Convert to float. | |
value_type | round () const |
value_type | integer () const |
Return the integer part (which is the same as trunc()). | |
value_type | fraction () const |
Return the fractional part, e.g., 3 for 12.03. | |
fixed & | operator+= (fixed f) |
Addition assignment operator. | |
fixed & | operator-= (fixed f) |
Subtraction assignment operator. | |
fixed & | operator *= (fixed f) |
Multiplication assignment operator. | |
fixed & | operator/= (fixed f) |
Division assignment operator. | |
void | negate () |
Negate this value. | |
fixed & | operator++ () |
Pre-increment. | |
fixed | operator++ (int) |
Post-increment. | |
fixed & | operator-- () |
Pre-decrement. | |
fixed | operator-- (int) |
Post-decrement. | |
value_type | value () const |
Return the internal value. | |
Static Public Attributes | |
static value_type const | places = N |
number of decimal places | |
static value_type const | places10 = static_cast<typename fixed<T,N>::value_type>(std::pow(10.0, double(places))) |
10places |
N
places after the decimal point. All arithmetic follows the usual rules.
Listing 49-5. Changing fixed from a Class to a Class Template
Definition at line 25 of file fixed.hpp.
fixed< T, N >::fixed | ( | value_type | integer, | |
value_type | fraction | |||
) | [inline] |
Construct from separate integer and fractional parts, e.g., initialize to 123.45 with fixed(123, 45). Initialize to 12.07 with fixed(12, 7).
Definition at line 108 of file fixed.hpp.
References fixed< T, N >::places10.
std::string fixed< T, N >::as_string | ( | ) | const [inline] |
Convert to a string.
Definition at line 219 of file fixed.hpp.
References fixed< T, N >::fraction(), fixed< T, N >::integer(), and fixed< T, N >::places.
bool fixed< T, N >::read | ( | std::basic_istream< Char, Traits > & | strm | ) | [inline] |
Read from a stream. Overwrite this value with the value read from the stream.
strm | the stream to read |
Definition at line 294 of file fixed.hpp.
References fixed< T, N >::fraction(), fixed< T, N >::integer(), fixed< T, N >::places, and fixed< T, N >::places10.
Referenced by operator>>(), and currency< T, N >::read().
fixed< T, N >::value_type fixed< T, N >::round | ( | ) | const [inline] |
Return just the integer part, rounded off to the nearest integer. If the value lies equidistant between two integers, round even numbers up and odd numbers down (banker's rounding).
Definition at line 202 of file fixed.hpp.
References fixed< T, N >::fraction(), fixed< T, N >::integer(), fixed< T, N >::places10, and fixed< T, N >::value().
Referenced by currency< T, N >::round().