C#超简单实现资产折旧计算方法
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#超简单实现资产折旧计算方法相关推荐
- FIAA固定资产【09资产折旧】
1.1 资产折旧(加作者微信ficodk索取完整无水印pdf版) 1.1.1 概述 计提固定资产折旧的方法有多种,基本上可以分为直线法(包括年限平均法和工作量法)和加速折旧法(包括年 ...
- 零起点学算法03——超简单模仿算术题
零起点学算法03--超简单模仿算术题 Description 计算机计算能力很强哦. 让计算机帮你算其实也很容易,不过要学好计算机语言哦. 下面请看一个例子:要求计算机计算1+2的值并输出. 这 ...
- 迷你世界电锯机器人_迷你世界:三分钟制作超简单飞翔石像机器人报道!
更多游戏资讯,请点击上方蓝字查询! 哈喽,大家好,还记得我之前分享的超简单的石像机器人吗?不记得了吗?我再帮助大家回忆回忆,之前研游酱分享的石像机器人总共是分两篇文章,一个是不会动的入下图,一个是会动 ...
- 面试Python开发的这道题超简单,我却搞砸了!
题图 | Shutterstock / studiostoks 这道算法题明明超简单-- 上午10点,在T公司的会议室里,小R正在参加一场他准备了好几天的技术面试. 整体来说,他在这场面试中的表现还不 ...
- ASP.NET中一种超简单的Ajax解决方案
为什么是Ajax2? 因为之前有一个blqw.Ajax,并且已经在项目中投入使用了,但是没有这个方便,这个是后来才弄的,为了纪念第一版的blqw.Ajax,所以这个就2了... 话说看了评论才发现,原 ...
- python http服务器_超简单的Python HTTP服务
超如果你急需一个简单的Web Server,但你又不想去下载并安装那些复杂的HTTP服务程序,比如:Apache,ISS等.那么, Python 可能帮助你.使用Python可以完成一个简单的内建 H ...
- 用python实现视频换脸_超简单使用Python换脸实例
换脸! 这段时间,deepfakes搞得火热,比方说把<射雕英雄传>里的朱茵换成了杨幂,看下面的图!毫无违和感! 其实早在之前,基于AI换脸的技术就得到了应用,比方说<速度与激情7& ...
- 【超简单】MySQL存储引擎的选择与配置
[超简单]MySQL存储引擎的选择与配置 存储引擎简介 MySQL中的数据用各种不同的技术存储在文件(或内存)中.每一种技术都使用不同的存储机构,索引技巧,锁定水平并且最终提供广泛的不同的功能和能力. ...
- 批处理 操作mysql_超简单使用批处理(batch)操作数据库
超简单使用批处理(batch)操作数据库 批处理(batch)是什么 批处理的执行就好比快递员的工作: 未使用批处理的时候,快递员一次从分发点将一件快递发给客户: 使用批处理,则是快递员将所有要派送的 ...
最新文章
- 面试时怎么设计测试用例
- mysql delete 注意
- 预告丨2018年值得关注的200场机器学习会议
- 事件,信号量,互斥量
- 构建简单的微服务架构
- P4306-[JSOI2010]连通数【bitset】
- 6-1 数组函数练习
- android中的add方法,Android入门之addWindow
- Spring基础——AOP
- UI动画的一些制作过程
- 小波分析及相应MATLAB实现
- 安卓开发之ListView优化方案
- 算法快学笔记(十五):贪婪算法与NP完全问题
- 三子棋游戏(C语言实现)
- 【机器翻译machine translation】
- 云溪云原生分布式数据库安全功能以及实现介绍
- MATLAB读txt
- Node.js+express+MySQL仿美团注册登录绑定第三方登录
- Unity Tilemap Collider 总结
- Unity给模型添加逼真效果材质
热门文章
- google三大论文
- Source Code Pro字体使用
- 2021年慈溪横河中学高考成绩查询,喜报|2018年高考喜报频传,慈溪高考再创新辉煌...
- Android Studio之菜单栏制作
- openfire + fastpath + webchat + spark 搭建在线客服系统
- Linux上如何使用vim编辑器写代码
- yaahp使用教程_4 判断矩阵
- 与美国移民局合作,微软和亚马逊遭员工组团抗议
- 2018.10.17第二次课及预习
- cad查看_CAD看图软件电脑版4种隐藏功能!