Usually, in a real cockpit, altimeter shows hPa setting as an integer number and InHg setting is limited to 2 decimals
In aviation we don't need higher numeric precision
double
Altimeter::getSettingInHg() const
{
- return _settingInHg;
+ return int(_settingInHg*100.0)/100.0; /* return only 2 decimals: xx.xx */
}
void
_settingInHg = value;
}
-double
+int
Altimeter::getSettingHPa() const
{
- return _settingInHg * SG_INHG_TO_PA / 100;
+ return int(_settingInHg * SG_INHG_TO_PA / 100.0); /* return an INT: xxxx */
}
void
-Altimeter::setSettingHPa( double value )
+Altimeter::setSettingHPa( int value )
{
_settingInHg = value * SG_PA_TO_INHG * 100;
}
double getSettingInHg() const;
void setSettingInHg( double value );
- double getSettingHPa() const;
- void setSettingHPa( double value );
+ int getSettingHPa() const;
+ void setSettingHPa( int value );
private:
std::string _name;