vc++ if判断double变量相等除了m_taxy以外都是double类型m_tax171 = m_taxs/1.17; (给m_taxs一个值,然后开始运算)m_tax172 = m_tax171*0.17;m_taxr = m_tax171+m_tax172;UpdateData(false);if(m_taxr==m_taxs){m_taxy="yes";UpdateData(fal
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/27 04:05:41
![vc++ if判断double变量相等除了m_taxy以外都是double类型m_tax171 = m_taxs/1.17; (给m_taxs一个值,然后开始运算)m_tax172 = m_tax171*0.17;m_taxr = m_tax171+m_tax172;UpdateData(false);if(m_taxr==m_taxs){m_taxy=](/uploads/image/z/5754437-53-7.jpg?t=vc%2B%2B+if%E5%88%A4%E6%96%ADdouble%E5%8F%98%E9%87%8F%E7%9B%B8%E7%AD%89%E9%99%A4%E4%BA%86m_taxy%E4%BB%A5%E5%A4%96%E9%83%BD%E6%98%AFdouble%E7%B1%BB%E5%9E%8Bm_tax171+%3D+m_taxs%2F1.17%3B+%EF%BC%88%E7%BB%99m_taxs%E4%B8%80%E4%B8%AA%E5%80%BC%2C%E7%84%B6%E5%90%8E%E5%BC%80%E5%A7%8B%E8%BF%90%E7%AE%97%EF%BC%89m_tax172+%3D+m_tax171%2A0.17%3Bm_taxr+%3D+m_tax171%2Bm_tax172%3BUpdateData%28false%29%3Bif%28m_taxr%3D%3Dm_taxs%29%7Bm_taxy%3D%22yes%22%3BUpdateData%28fal)
vc++ if判断double变量相等除了m_taxy以外都是double类型m_tax171 = m_taxs/1.17; (给m_taxs一个值,然后开始运算)m_tax172 = m_tax171*0.17;m_taxr = m_tax171+m_tax172;UpdateData(false);if(m_taxr==m_taxs){m_taxy="yes";UpdateData(fal
vc++ if判断double变量相等
除了m_taxy以外都是double类型
m_tax171 = m_taxs/1.17; (给m_taxs一个值,然后开始运算)
m_tax172 = m_tax171*0.17;
m_taxr = m_tax171+m_tax172;
UpdateData(false);
if(m_taxr==m_taxs)
{m_taxy="yes";
UpdateData(false);}
else
{m_taxy="no";
UpdateData(false);}
现在我分别显示m_taxs和m_taxr是一样的,但是if判断的结果为no.这是为什么呢?
vc++ if判断double变量相等除了m_taxy以外都是double类型m_tax171 = m_taxs/1.17; (给m_taxs一个值,然后开始运算)m_tax172 = m_tax171*0.17;m_taxr = m_tax171+m_tax172;UpdateData(false);if(m_taxr==m_taxs){m_taxy="yes";UpdateData(fal
浮点数在计算机中不能精确的表示,在判断浮点相等时可以根据自己的需要设定一个误差范围,比如,认为相差在0.001以内就是相等.
if(fabs(m_taxr-m_taxs)