CDFValue - 分数/十进制转换类





1.00/5 (1投票)
2002年11月20日
1分钟阅读

63714

707
一个用于操作和转换十进制和分数数据的类。
作为一名改造专业的从业者和热衷于木工的爱好者,我意识到,在网上搜索木工软件的许多小时后,需要专门针对该领域的应用程序。因此,我得出结论,我要么等待其他人开发它们,支付他们的价格并希望它们具有我需要的功能,要么自己开发它们并将我需要的功能集成到我的应用程序中。
我确定首先要做的是开发一个类来处理十进制和分数数据,并能够在这两者之间进行转换。因此,我创建了CDFValue
类。该类封装了此功能,并提供了一套丰富的方法,使用户能够处理十进制、分数以及两者的混合数据类型,并能够操作和转换这些数据。
在下面的示例中,局部变量gbl_precision
用于定义所需的精度。在我的应用程序中,我将此变量用作全局变量,并允许用户将其设置为 1/16",1/32" 或 1/64"。在示例中,我将其设置为 1/64"。如果未指定单位,则假定单位为英尺。
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 = 3' DFRes = DFVal1 - DFVal2; //DFRes = 0 DFRes = DFVal1 * DFVal2; //DFRes = 2'3" DFRes = DFVal1 / DFVal2; //DFRes = 1 DFVal1 == DFVal2; //TRUE
如您从示例中看到,CDFValue
类易于使用且非常通用。值可以是分数形式
80", 5', 5'6", 5'6-1/2"
可以是十进制形式
.15, 1, 1.5
或者两者兼有
12.5", 1.5'
就这样了!
您可以自由使用此类,我唯一的要求是,如果您喜欢此类并使用它,请给予应有的赞誉。例如,像对待你一样对待我。