如何在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
相关产品推荐
相关产品推荐

