C++中的数据类型相当于 vb6 中的常量货币

What datatype in C++ that is equivalent to const CURRENCY in vb6?

本文关键字:常量 货币 vb6 数据类型 C++ 相当于      更新时间:2023-10-16

我正在编写一个ATL C++程序,它充当OCX文件的包装类。这将构建为 dll。

我的问题:在 OCX 中,有一个接受货币类型的方法。前任: OCXMethodName(long a, const CURRENCY & cy);

在我的C++代码中,当我尝试在 OCXMethodName 中传递 CURRENCY/CY 类型时,我在调试过程中出现错误。错误是,它不返回 0,这意味着不成功。数据有问题。

见例: STDMETHODIMP CMethod::MyMethod(LONG var_a, CURRENCY amount) { ... long lRet = OCX->OCXMethodName(var_a, amount); //This will execute in OCX ... }

它将构建为 dll,我使用 vbscript 对其进行进一步的单元测试。Ex vbscript code: Dim ret ret = objATL.MyMethod(11, 5000) '''This will call the C++ Method执行时弹出"Microsoft(R(基于Windows的脚本主机"对话框。

我的问题是处理或转换货币的最佳方法是什么,以便我可以在 OCX 方法中传递正确的数据类型?

货币变量在内部存储为具有四个假定小数位的八字节长整数。 例如,货币值 1.25 将存储为 12500。 希望这为您指明了正确的方向。