如何将 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的主要内容,如果未能解决你的问题,请参考以下文章
如何将 double 类型转换为 DWORDLONG 或 DWORD 转换为 DWORDLONG 或 DWORD_PTR 转换为 DWORDLONG