Currency Module User’s Guide : Chapter 1 Introduction : Product Features
Product Features
Here are some of the features of this module
Currency classes. The Currency Module provides interfaces that encapsulate the complexity of currency representation and monetary conversions and calculations.
Triangulated and bilateral currency conversions. The Currency Module includes the triangulated Euro conversion algorithm for those applications that need it now to ensure a smooth transition to the Euro. And, since the need for the Euro conversion algorithm is temporary, the library lets you write code so that when the transition period ends, your company’s Currency Module applications will work correctly without source code changes.
Extensible conversion architecture. Developers can completely extend or override the default conversion algorithms.
Precision. The Currency Module contains a set of types for exactly representing and manipulating decimal fractions. Templatized fixed and floating decimal point classes give you all the flexibility you need.
Control over rounding. The Currency Module provides several different rounding methods from which to choose.
Formatted I/O. The Currency Module format objects allow simple, highly flexible formatting of decimals. Simple formats can be simply described using a picture template, while more complex formats, or formats that change at run time, can be described using the format object member functions. The formatting classes are fully internationalized so it is easy to account for local formatting conventions.
Runtime localization. You can specify the local interpretation of commas and decimal points at runtime.
Persistence. The virtual streams and RWFile technology from the Essential Tools Module can be used with the Currency Module to provide flexible and efficient input and output of decimal numbers using the C++ standard iostreams library.
Integration with the DB Interface Module of SourcePro DB. Class RWDecimalPortable, implemented in the Essential Tools Module, is available to both the Currency Module and the DB Interface Module libraries. This lets you work with monetary values mapped from a database, using known rounding semantics.
Error-handling. The Currency Module is intended for use in mission-critical applications where an unreported overflow, as can happen with the built-in int and long types, can be disastrous (and expensive). The Currency Module gives you complete control over how to handle any type of error. You can rest assured that if any inaccuracy creeps in, you can handle it.