如何将 double 类型转换为 DWORDLONG 或 DWORD 转换为 DWORDLONG 或 DWORD_PTR 转换为 DWORDLONG

Posted

技术标签:

【中文标题】如何将 double 类型转换为 DWORDLONG 或 DWORD 转换为 DWORDLONG 或 DWORD_PTR 转换为 DWORDLONG【英文标题】:How to typecast double to DWORDLONG or DWORD to DWORDLONG or DWORD_PTR to DWORDLONG 【发布时间】:2016-01-18 09:20:00 【问题描述】:

我有 m_listControl.SetItemData(iIndex, (DWORD)GetId(i));

GetId 返回双精度值,如果返回值超出范围(DWORD 范围 0 - 4,294,967,295)

m_listControl.GetItemData(Item);正在返回垃圾值。

这里我将返回的双精度值转换为 DWORD。

请建议如何处理该值。

谢谢!

【问题讨论】:

请edit 在此处添加有意义的代码和问题描述。发布 Minimal, Complete, Verifiable Example 来证明您的问题将帮助您获得更好的答案。谢谢! 你需要一把更大的锤子,比现有的大一倍。或者尖头的。将数据与视图分离以取得成功。 【参考方案1】:

您的double 是 64 位,您打算将其存储在 32 位的 DWORD` 中。类型转换不会改变这个现实——你没有足够的位。

创建std::map<DWORD, double> 或其他查找结构。

【讨论】:

谢谢。您的意见帮助我解决了这个问题。

以上是关于如何将 double 类型转换为 DWORDLONG 或 DWORD 转换为 DWORDLONG 或 DWORD_PTR 转换为 DWORDLONG的主要内容,如果未能解决你的问题,请参考以下文章

c#中如何把string类型转换为double类型?

在QT中如何将double转换为Qstring

如何将 double 类型转换为 DWORDLONG 或 DWORD 转换为 DWORDLONG 或 DWORD_PTR 转换为 DWORDLONG

C语言中如何将double型数据转换为数组?

如何使用解码器将给定 JSON 中 Double 类型的 Codable 属性转换为 Date?

如何将table转换为double型数组?