using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;namespace 测试001
{///<summary>///折旧计算///</summary>class AssetDeperciation{///<summary>///私有成员///</summary>               private double _ValueOfAsset;         //资产原值private double _EstUseAge;            //资产预计使用年限private double _EstResidualValue;     //资产预计残值private double _EstCostsOfCleaning;   //资产预计清理费用private double _DepAmountOfYear;      //年折旧额private double _DepAmountOfMonth;     //月折旧额private double _DepRateOfYear;        //年折旧率private double _DepRateOfMonth;       //月折旧率     private double _DepOfAccumulated;     //累计折旧额private double _TotalOfLoad;          //预计总工作量private double _LoadOfMonth;          //月工作量private double _DepAmountOfUnit;      //单位工作量折旧额    //private  ///<summary>///获取资产原值///</summary>public double ValueOfAsset{get { return _ValueOfAsset; }set {_ValueOfAsset = value; }}///<summary>///获取预计使用年限///</summary>public double EstUseAge{get { return  _EstUseAge; }set {_EstUseAge = value; }}///<summary>///资产预计残值///</summary>public double EstResidualValue{get { return _EstResidualValue; }set {_EstResidualValue = value; }}///<summary>///资产预计清理费用///</summary>public double EstCostsOfCleaning{get { return _EstCostsOfCleaning; }set {_EstCostsOfCleaning = value; }}///<summary>///获取年折旧额,内部可写///</summary>public double DepAmountOfYear{get { return _DepAmountOfYear; }protected internal set {_DepAmountOfYear = value; }}///<summary>///获取资产月折旧额,内部可写///</summary>public double DepAmountOfMonth{get { return _DepAmountOfMonth; }protected internal set {_DepAmountOfMonth = value; }}///<summary>///获取资产年折旧率///</summary>public double DepRateOfYear{get { return _DepRateOfYear; }set {_DepRateOfYear = value; }}///<summary>///获取资产月折旧率///</summary>public double DepRateOfMonth{get { return _DepRateOfMonth; }set {_DepRateOfMonth = value; }}///<summary>///累计折旧额,内部可写///</summary>public double DepOfAccumulated{get { return _DepOfAccumulated; }protected internal set {_DepOfAccumulated = value; }}///<summary>///预计总工作量///</summary>public double TotalOfLoad{get { return _TotalOfLoad; }set {_TotalOfLoad = value; }}///<summary>///月工作量///</summary>public double TotalOfMonth{get { return _LoadOfMonth; }set {_LoadOfMonth = value; }}///<summary>///单位工作量折旧额,内部可写///</summary>public double DepAmountOfUnit{get { return _DepAmountOfUnit; }protected internal set {_DepAmountOfUnit = value; }}///<summary>///平均年限法,获得资产月折旧额。///</summary>///<param name="valueOfAsset">资产原值</param>///<param name="estUseAge">资产使用年限</param>///<param name="estResidualValue">资产预计残值</param>///<param name="estCostsOfCleaning">资产预计清理费用</param>///<param name="depRateOfMonth">资产月折旧率</param>///<return s>资产月折旧额</return s>public double  SLD(double valueOfAsset, double  estUseAge, double  estResidualValue, double estCostsOfCleaning){this._ValueOfAsset= valueOfAsset;this._EstUseAge= estUseAge;this._EstResidualValue= estResidualValue;this._EstCostsOfCleaning= estCostsOfCleaning;//月折旧额=((资产原值-(资产预计残值-资产预计清理费用))/折旧年限))/12     DepRateOfMonth = ((valueOfAsset -(estResidualValue - estCostsOfCleaning)) / estUseAge) / 12;return DepAmountOfMonth;}///<summary>///工作量法,获得资产单位工作量折旧额。///</summary>///<param name="valueOfAsset">资产原值</param>///<param name="estResidualValue">资产预计残值</param>///<param name="estCostsOfCleaning">资产预计清理费用</param>///<param name="totalLoad">预计总工作量</param>///<return s>资产单位工作量折旧额</return s>public double  UOPM(double valueOfAsset, double  estResidualValue, double estCostsOfCleaning, double  totalLoad){this._ValueOfAsset= valueOfAsset;this._EstResidualValue= estResidualValue;this._EstCostsOfCleaning= estResidualValue;this._TotalOfLoad= totalLoad;//每一工作量折旧额=资产原值×(1-((资产预计残值-资产预计清理费用)/资产原值))/预计总工作量     DepAmountOfUnit = (ValueOfAsset *(1 - ((EstResidualValue - EstCostsOfCleaning) / ValueOfAsset))) / TotalOfLoad;return DepAmountOfUnit;}///<summary>///加速折旧法-双倍余额法,获得资产月折旧额。///</summary>///<param name="valueOfAsset">资产原值</param>///<param name="estUseage">资产预计使用年限</param>///<param name="estResidualValue">资产预计残值</param>///<param name="estCostsOfCleaning">资产预计清理费用</param>///<return s>资产月折旧额</return s>public double MACRS_DDB(double  valueOfAsset, double  estUseage, double  estResidualValue, double estCostsOfCleaning){this._ValueOfAsset= valueOfAsset;this._EstUseAge= estUseage;this._EstResidualValue= estResidualValue;this._EstCostsOfCleaning= estCostsOfCleaning;this._DepOfAccumulated= 0;for (int i = 1;i <= EstUseAge; ++i){if (i<= (EstUseAge - 2)){//资产年折旧额=(2/折旧年限)*(资产原值-累计折旧额)DepAmountOfYear = (2 /EstUseAge) * (ValueOfAsset - DepOfAccumulated);DepOfAccumulated +=DepOfAccumulated;}else{//资产年折旧额=(1/剩余折旧年限)*(资产原值-(资产预计残值-资产预计清理费用)-累计折旧额)DepAmountOfYear = (1 /(EstUseAge - (i - 1)) * (ValueOfAsset - (EstResidualValue - EstCostsOfCleaning)- DepOfAccumulated));break;}}return DepAmountOfYear / 12;}///<summary>///加速折旧法-年数总和法,获得资产月折旧额///</summary>///<param name="valueOfAsset">资产原值</param>///<param name="estUseage">预计使用年限</param>///<param name="estResidualValue">资产预计残值</param>///<param name="estCostsOfCleaning">资产预计清理费用</param>///<return s>返回资产月折旧额</return s>public double MACRS_SOYDM(double  valueOfAsset, double  estUseage, double  estResidualValue, double estCostsOfCleaning){//资产年折旧额=(资产原值-(资产预计残值-资产预计清理费用)*((折旧年限-已使用年限)/(折旧年限*(折旧年限+1)))this._ValueOfAsset= valueOfAsset;this._EstUseAge= estUseage;this._EstResidualValue= estResidualValue;this._EstCostsOfCleaning= estCostsOfCleaning;for (int i = 1;i <= EstUseAge; ++i){DepAmountOfYear = (ValueOfAsset- (EstResidualValue - EstCostsOfCleaning)) * (((EstUseAge - i) + 1) /((EstUseAge * (EstUseAge + 1)) / 2));}return DepAmountOfYear / 12;}}
}

C#超简单实现资产折旧计算方法相关推荐

  1. FIAA固定资产【09资产折旧】

    1.1    资产折旧(加作者微信ficodk索取完整无水印pdf版) 1.1.1       概述 计提固定资产折旧的方法有多种,基本上可以分为直线法(包括年限平均法和工作量法)和加速折旧法(包括年 ...

  2. 零起点学算法03——超简单模仿算术题

    零起点学算法03--超简单模仿算术题 Description 计算机计算能力很强哦.  让计算机帮你算其实也很容易,不过要学好计算机语言哦.  下面请看一个例子:要求计算机计算1+2的值并输出.  这 ...

  3. 迷你世界电锯机器人_迷你世界:三分钟制作超简单飞翔石像机器人报道!

    更多游戏资讯,请点击上方蓝字查询! 哈喽,大家好,还记得我之前分享的超简单的石像机器人吗?不记得了吗?我再帮助大家回忆回忆,之前研游酱分享的石像机器人总共是分两篇文章,一个是不会动的入下图,一个是会动 ...

  4. 面试Python开发的这道题超简单,我却搞砸了!

    题图 | Shutterstock / studiostoks 这道算法题明明超简单-- 上午10点,在T公司的会议室里,小R正在参加一场他准备了好几天的技术面试. 整体来说,他在这场面试中的表现还不 ...

  5. ASP.NET中一种超简单的Ajax解决方案

    为什么是Ajax2? 因为之前有一个blqw.Ajax,并且已经在项目中投入使用了,但是没有这个方便,这个是后来才弄的,为了纪念第一版的blqw.Ajax,所以这个就2了... 话说看了评论才发现,原 ...

  6. python http服务器_超简单的Python HTTP服务

    超如果你急需一个简单的Web Server,但你又不想去下载并安装那些复杂的HTTP服务程序,比如:Apache,ISS等.那么, Python 可能帮助你.使用Python可以完成一个简单的内建 H ...

  7. 用python实现视频换脸_超简单使用Python换脸实例

    换脸! 这段时间,deepfakes搞得火热,比方说把<射雕英雄传>里的朱茵换成了杨幂,看下面的图!毫无违和感! 其实早在之前,基于AI换脸的技术就得到了应用,比方说<速度与激情7& ...

  8. 【超简单】MySQL存储引擎的选择与配置

    [超简单]MySQL存储引擎的选择与配置 存储引擎简介 MySQL中的数据用各种不同的技术存储在文件(或内存)中.每一种技术都使用不同的存储机构,索引技巧,锁定水平并且最终提供广泛的不同的功能和能力. ...

  9. 批处理 操作mysql_超简单使用批处理(batch)操作数据库

    超简单使用批处理(batch)操作数据库 批处理(batch)是什么 批处理的执行就好比快递员的工作: 未使用批处理的时候,快递员一次从分发点将一件快递发给客户: 使用批处理,则是快递员将所有要派送的 ...

最新文章

  1. 面试时怎么设计测试用例
  2. mysql delete 注意
  3. 预告丨2018年值得关注的200场机器学习会议
  4. 事件,信号量,互斥量
  5. 构建简单的微服务架构
  6. P4306-[JSOI2010]连通数【bitset】
  7. 6-1 数组函数练习
  8. android中的add方法,Android入门之addWindow
  9. Spring基础——AOP
  10. UI动画的一些制作过程
  11. 小波分析及相应MATLAB实现
  12. 安卓开发之ListView优化方案
  13. 算法快学笔记(十五):贪婪算法与NP完全问题
  14. 三子棋游戏(C语言实现)
  15. 【机器翻译machine translation】
  16. 云溪云原生分布式数据库安全功能以及实现介绍
  17. MATLAB读txt
  18. Node.js+express+MySQL仿美团注册登录绑定第三方登录
  19. Unity Tilemap Collider 总结
  20. Unity给模型添加逼真效果材质

热门文章

  1. google三大论文
  2. Source Code Pro字体使用
  3. 2021年慈溪横河中学高考成绩查询,喜报|2018年高考喜报频传,慈溪高考再创新辉煌...
  4. Android Studio之菜单栏制作
  5. openfire + fastpath + webchat + spark 搭建在线客服系统
  6. Linux上如何使用vim编辑器写代码
  7. yaahp使用教程_4 判断矩阵
  8. 与美国移民局合作,微软和亚马逊遭员工组团抗议
  9. 2018.10.17第二次课及预习
  10. cad查看_CAD看图软件电脑版4种隐藏功能!