gpt4 book ai didi

C++ 将 Variant Decimal 转换为 Double 值

转载 作者:行者123 更新时间:2023-11-30 04:02:47 24 4
gpt4 key购买 nike

我有一个 _variant_t 变量,它包含来自数据库的 DECIMAL 值。

问题是,当我尝试将其直接转换为 double 类型时,我得到了一个未定义的值。

比如我有一个十进制值=1000.111

_varaint_t MyVar = getValueFromDatabase();        // MyVar is a decimal value = 1000.111
double MyDouble = (double) MyVar.dblVal;

cout << MyDouble << endl; // Prints "4.941204871279e-318#DEN"

在 C++ 中将 Decimal 转换为 Double 的正确方法是什么?


更新:

当我尝试这个时,

_varaint_t MyVar = getValueFromDatabase();        
double MyDouble = (double) MyVar.decVal;

编译错误:

No suitable conversion function from "DECIMAL" to "double" exists

最佳答案

_variant_t 已经提供了正确的转换运算符,因此您无需直接引用 .dblVal 或 decVal(参见此处:http://msdn.microsoft.com/en-us/library/ew0bcz27.aspx)。

所以你可以这样做:

_variant_t MyVar = getValueFromDatabase();
double myDouble = MyVar;

转换运算符将在必要时调用 VariantChangeType。

关于C++ 将 Variant Decimal 转换为 Double 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24891663/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com