You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在C++中引用结构体变量并将小数转字符串截断?

解决C++结构体数据转WinForm文本框的字符串转换与小数截断问题

场景与现有代码

已通过以下代码将数据赋值给指向Struct1类型的FlightData指针:

// Assign data to structure
pObjData = (SIMCONNECT_RECV_SIMOBJECT_DATA*)pData;
if (pData->dwID == SIMCONNECT_RECV_ID_SIMOBJECT_DATA && pObjData->dwRequestID == REQUEST_1)
{
    FlightData = (Struct1*)&pObjData->dwData;
}

Struct1的定义及相关变量声明如下:

struct Struct1
{
    public:double RPM_Indicator;
//  double ADFMode;
};

//Struct1 LvarList;

SIMCONNECT_RECV_SIMOBJECT_DATA* pObjData = NULL;
SIMCONNECT_RECV* pData = NULL;
DWORD cbData = 0;
Struct1* FlightData = NULL;
bool bDone = false;

需求

针对Struct1中的RPM_Indicator字段,需完成两个操作:

  • 将该字段转换为字符串
  • 截断小数部分,仅保留整数内容

解决方案

通过强制类型转换截断小数,再调用ToString()方法转换为字符串并赋值给WinForm文本框:

int intEngineRPM = int(FlightData->RPM_Indicator);
this->tbRPM->Text = intEngineRPM.ToString();

内容的提问来源于stack exchange,提问作者Robert H

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 06:59:56