如何在VC ++中使用CY或CURRENCY联合?

时间:2017-08-09 12:42:32

标签: visual-c++ mfc com variant

我必须在我正在处理的服务器中处理Variant类型VT_CY。这是数据类型的链接。

CURRENCY union

虽然它描述了类型,但我找不到它的用法示例。请提供相同的示例。

1 个答案:

答案 0 :(得分:2)

正如其他评论者所指出的那样,CY的结构众所周知,因此您可以编制自己的转换和操作。但是,我通常更喜欢依赖Microsoft为CY实例提供的API。请查看以下链接。

您应该尝试尽可能地限制转换。如果您有两个CY结构,请使用算术函数,如VarCyAdd,而不是将CY结构转换为浮点类型。这将减少浮点错误。当您根据需要操作CY结构时,可以使用VarBstrFromCy生成值的字符串表示形式。同样,这比在将浮点值格式化为字符串之前将最终结果转换为浮点值更好。

以前的所有类型都适用于DECIMAL类型。

VARIANT结构有类似的功能。如果您有两个VARIANT结构包含数值(从INTDECIMALCY的任何内容),您可以使用VarAdd之类的函数来实现以明确定义的方式添加两个VARIANT结构。例如,如果您在两个VARIANT结构上调用该函数,每个结构包含CY值,则结果将是包含新VARIANT值的CY。如果您将包含VARIANT的{​​{1}}添加到包含CY的{​​{1}},则最终会得到包含VARIANT的{​​{1}}。< / p>