【问题标题】:How to typecast double to DWORDLONG or DWORD to DWORDLONG or DWORD_PTR to DWORDLONG如何将 double 类型转换为 DWORDLONG 或 DWORD 转换为 DWORDLONG 或 DWORD_PTR 转换为 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 来证明您的问题将帮助您获得更好的答案。谢谢!
  • 你需要一把更大的锤子,比现有的大一倍。或者尖头的。将数据与视图分离以取得成功。

标签: c++ visual-c++ casting mfc


【解决方案1】:

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

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

【讨论】:

  • 谢谢。您的意见帮助我解决了这个问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-21
  • 1970-01-01
  • 2012-05-09
  • 1970-01-01
  • 2015-07-04
  • 1970-01-01
相关资源
最近更新 更多