用于在C ++中准确表示Visual Basic Decimal变量的替代方法

时间:2010-03-04 17:10:12

标签: c++ vb.net

我目前正在开发一个程序,它以文本文件的形式获取Visual Basic数据,然后将这些数据存储在C ++中。 Visual Basic中的一些数据是Decimal类型。 C ++没有等效于十进制的内置类型。我不想使用double,因为如果数字足够大,可能会丢失有效数字。

一个选项是编写我自己的十进制类。我想知道在我试图解决这个问题之前是否还有其他替代方案。

谢谢你的帮助。

2 个答案:

答案 0 :(得分:0)

decNumber库。这是一个C库,设计用于十进制数而不会丢失精度/准确度。

鉴于它是一个C库,你应该能够轻松地将它包装在C ++类中,或者只是直接使用C函数

这是IBM赞助的lib,它可以在开源许可证(ICU)下获得

答案 1 :(得分:0)

在我看来,使用Decimal类是最好的解决方案。至于编写自己的实现,首先尝试一个简短的网络研究:似乎其他人之前有同样的问题。第一个Google结果显示CodeProject solution,可能还有很多其他结果......