当前位置: 首页>>代码示例>>C++>>正文


C++ Money::name方法代码示例

本文整理汇总了C++中Money::name方法的典型用法代码示例。如果您正苦于以下问题:C++ Money::name方法的具体用法?C++ Money::name怎么用?C++ Money::name使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Money的用法示例。


在下文中一共展示了Money::name方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: _calEndExtra


//.........这里部分代码省略.........
                    //else
                    //    tvm = preSExaR - vm;
                }
            }
            if(tvp > 0){ //余额在借方
                //如果是收入类科目,要将它固定为贷方
                if(smg->isSyClsSubject(sid,isInSub,isFst) && isInSub){
                    tvp.changeSign();
                    (*evs)[key] = tvp;
                    (*eds)[key] = MDIR_D;
                }
                else{
                    (*evs)[key] = tvp;
                    (*eds)[key] = MDIR_J;
                    if(mt != mmt){
                        (*evMs)[key] = tvm;
                        //if(isFst)
                        //    endFExaR[key] = tvm;
                        //else
                        //    endSExaR[key] = tvm;
                    }
                }
            }
            else if(tvp < 0){ //余额在贷方
                //如果是费用类科目,要将它固定为借方
                if(smg->isSyClsSubject(sid,isInSub,isFst) && !isInSub){
                    (*evs)[key] = tvp;
                    (*eds)[key] = MDIR_J;
                }
                else{
                    tvp.changeSign();
                    tvm.changeSign();
                    (*evs)[key] = tvp;
                    (*eds)[key] = MDIR_D;
                    if(mt != mmt){
                        (*evMs)[key] = tvm;
                        //if(isFst)
                        //    endFExaR[key] = tvm;
                        //else
                        //    endSExaR[key] = tvm;
                    }
                }
            }
            else{
                (*evs)[key] = 0;
                (*eds)[key] = MDIR_P;
                if(mt != mmt){
                    (*evMs)[key] = tvm;
                    //if(isFst)
                    //    endFExaR[key] = tvm;    //因为原币余额为0,并不意味着本币余额也为0
                    //else
                    //    endSExaR[key] = tvm;
                }
            }
        }
    }

    //if(!isFst)
    //    qDebug()<<QString("StatUtil::_calEndExtra===> %1").arg(evMs->value(1122).toString());

    //将存在期初值但本期未发生的科目余额拷贝到期末余额
    QHashIterator<int,Double>* ip = new QHashIterator<int,Double>(*pvs);
    while(ip->hasNext()){
        ip->next();
        int key = ip->key();
        int mt = key%10;
        if(!evs->contains(key)){
            (*evs)[key] = pvs->value(key);
            (*eds)[key] = pds->value(key);
            if(mt != mmt)
                (*evMs)[key] = pvMs->value(key);
        }
    }
    //查找并剔除那些外币的原币余额为0,但其本币值不为0的值项
    ip = new QHashIterator<int,Double>(*evMs);
    Double v;
    while(ip->hasNext()){
        ip->next();
        v = ip->value();
        if(v != 0 && evs->value(ip->key()) == 0){
            //(*evMs)[ip->key()] = 0;  //2015-7-15,以前为何要将其清零?,发现可以保存此值,但期初读取时没有读取到
            QString subName;
            int sid = ip->key()/10;

            if(isFst)
                subName = smg->getFstSubject(sid)->getName();
            else{
                SecondSubject* ssub = smg->getSndSubject(sid);
                subName = QString("%1-%2").arg(ssub->getParent()->getName()).arg(ssub->getName());
            }
            if(!isFst){
                Money* mt = account->getAllMoneys().value(ip->key()%10);
                QString info = tr("科目“%1”的%2的原币余额为0,但本币余额是:%3,需要在结转汇兑损益凭证中将其清零!")
                        .arg(subName).arg(mt->name()).arg(v.toString2());
                QMessageBox::warning(0,tr("余额误差"),info);
                LOG_WARNING(tr("%1(sid=%2) 外币余额本币值误差:%3").arg(subName).arg(sid).arg(v.toString2()));
            }
        }
    }
}
开发者ID:wangkungit5905,项目名称:PzAssistant,代码行数:101,代码来源:statutil.cpp


注:本文中的Money::name方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。