A convenient money structure for the CLR which carefully handles
rounding and currency types.  NOTE: source now at:
https://bitbucket.org/rplaire/money-type-for-the-clr    Money,
however, is a type which is so primitive, and so pervasive, that
it's absence is notable. Other primitive types are built in,
after all. Martin Fowler considers this in Patterns of
Enterprise Application Architecture [PEAA]:      Also in [PEAA],
the underlying type used to store the value was an Int64 (long).
The authors then scale the value by some power of 10 (0 - 3) to
represent fractional units. In this type, I opted to represent
the fraction as a completely separate Int32, which is scaled by
10^9 (the largest power of 10 which fits into an Int32). This
allows storing much smaller fractions, which is useful for
intermediate computations. Due to this, the type a fixed-decimal
point numeric representation. This is how relational databases
often store money, so it makes a natural fit. Another
alternative was to represent the money v