As a remodeling professional and an avid woodworking enthusiast I realized, after many hours of searching the net for woodworking software that there was a need for applications that specialize in this area. Therefore I came to the
conclusion that I would either have to wait for someone else to develop them,
pay their price and hope they had the functionality that I needed or develop
them myself and integrate the functionality I needed into my apps.
I determined that the first place to start was to develop a class to handle
decimal and fractional data with the ability to convert between the two.
Therefore I created the CDFValue
class. This class encapsulates
this functionality and provides a rich set of methods providing the user with
the ability to handle decimal, fractional and a mixture of both data types and
to be able to manipulate and convert this data.
In the example below the local variable gbl_precision
is used to define the required precision. In my applications I use this variable as a global and allow the user to set it to either 1/16", 1/32" or 1/64". In the example I set it at 1/64". If units not given they are assumed to be in feet.
int gbl_precision = 64;
CDFValue DFVal1;
CDFValue DFVal2;
CDFValue DFRes;
CString strVal1 = "1'6\"";
DFVal1.SetDFValue(strVal1);
DFVal2.SetDFValue(1.5);
DFRes = DFVal1 + DFVal2;
DFRes = DFVal1 - DFVal2;
DFRes = DFVal1 * DFVal2;
DFRes = DFVal1 / DFVal2;
DFVal1 == DFVal2;
As you can see from the example the CDFValue
class is easy to use
and very versatile. Values may be in fractional
80", 5', 5'6", 5'6-1/2"
in decimal
.15, 1, 1.5
or a mixture of the two
12.5", 1.5'
Thats all there is to it!
You may use this class freely, the only thing I ask is that if you like this
class and use it you give credit where credit is due. i.e. Treat me as I would
treat you.