我是 如下 处理的 但总觉得不对:
Data * iAddDoubleDouble::doEval(DoubleData *d)
{
double result = doubleNum->get() + d->get();
针对加减法计算浮点数出错的处理
QString s1 = doubleNum->getFormattedOutput();
QString s2 = d->getFormattedOutput();
if( s1.find('.') != -1 && s1.find('e', 0, false) == -1 )
if( s2.find('.') != -1 && s2.find('e', 0, false) == -1 )
if( result >= -0.00000000000001 && result <= 0.00000000000001 )
{
result = 0.0;
}
d->set(result);
return d;
}
望指点!