C# 房贷计算器
设计背景
百度小程序中的房贷计算器不能满足我个人的需求,故而开发一个.NET小程序。希望后期能用JS重写,发布在网上供大家使用。
设计思路
根据百度公式:等额本息月还款 = [贷款本金×月利率×(1+月利率)^还款月数]÷[(1+月利率)^还款月数-1]
相关技术
- WinForm 键入事件
- 字符串与浮点型数据转换
功能
键入相关数据, 进行计算即可
代码示例
//[贷款本金×月利率×(1+月利率)^还款月数]÷[(1+月利率)^还款月数-1]
double yearNum = Z.Base.Util.Parser.TryToDouble(this.cmbYear.Text, this.format);
double monthNum = yearNum * 12;
double gMoney = Z.Base.Util.Parser.TryToDouble(this.txtGongMoney.Text, this.format);//公积金
double sMoney = Z.Base.Util.Parser.TryToDouble(this.txtShangMoney.Text, this.format);//商贷
double gRate = Z.Base.Util.Parser.TryToDouble(this.txtGongRate.Text, this.format) / 100f;//公积金利率
double sRate = Z.Base.Util.Parser.TryToDouble(this.txtShangRate.Text, this.format) / 100f;//商贷利率
double sUp = Z.Base.Util.Parser.TryToDouble(this.txtShangUp.Text, this.format) / 100f;//商贷上浮
double gMonthRate = gRate / 12f;
double sMonthRate = (sRate * (1 + sUp)) / 12f;
double gPower = Math.Pow(1 + gMonthRate, monthNum);
double sPower = Math.Pow(1 + sMonthRate, monthNum);
double gMonth = (gMoney * gMonthRate * gPower) / (gPower - 1);
double sMonth = (sMoney * sMonthRate * sPower) / (sPower - 1);
this.txt.Clear();
this.txt.AppendText(string.Format("公积金贷款金额:{0} 万元 \r\n", gMoney.ToString(this.format)));
this.txt.AppendText(string.Format("公积金每月还款:{0} 万元 \r\n", gMonth.ToString(this.format)));
this.txt.AppendText(string.Format("商业贷款金额:{0} 万元 \r\n", sMoney.ToString(this.format)));
this.txt.AppendText(string.Format("商业贷款每月还款:{0} 万元 \r\n", sMonth.ToString(this.format)));
this.txt.AppendText(string.Format("总贷款金额:{0} 万元 \r\n", (sMoney + gMoney).ToString(this.format)));
this.txt.AppendText(string.Format("总贷款每月还款:{0} 万元 \r\n", (sMonth + gMonth).ToString(this.format)));
this.txt.AppendText(string.Format("还款月数:{0} \r\n", monthNum));
GitHub
C# 房贷计算器的更多相关文章
- JavaScript:综合案例---房贷计算器的实现
房贷计算器的实现 (可以使用的编辑器:webStrom.subLime.notePad++.editPlus) 输入数据: 平方单价 70,000.00 元/平方 B1 租金 382.50 元/平方 ...
- ★房贷计算器 APP
一.目的 1. 这是一个蛮有用的小工具 2. 之前看了很多demo,第一次来完全的自己实现一个APP 3. 完成之后提交 App Store 4. 作为Good Coder的提交审核材料 二.排期 周 ...
- 纯js房贷计算器开源
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Android实战项目:房贷计算器
APP源码已上传到我的GitHub:https://github.com/zdm-code/Android-learning/tree/master/android_learning/mortgage ...
- PHP房贷计算器代码,等额本息,等额本金
debx(); function debx() { $dkm = 240; //贷款月数,20年就是240个月 $dkTotal = 10000; //贷款总额 $dknl = 0.0515; //贷 ...
- 1028作业:Java语法基础
//1.输入长与宽计算长方形面积与周长.(用精度类型计算) package com.lovo.J133; import java.util.Scanner; public class Homework ...
- Mock方法介绍
1 现有的单元测试框架单元测试是保证程序正确性的一种有效的测试手段,对于不同的开发语言,通常都能找到相应的单元框架. 借助于这些单测框架的帮助,能够使得我们编写单元测试用例的过程变得便捷而优雅.框架帮 ...
- ios上比较好用的Cydia插件
1.iFile查看系统文件 2.KuaiDial归属地数据库 3.KuaiDial电话拨号助手 4.搜狗输入法 Photo Editor 房贷计算器
- Picker组件封装
在开发APP的过程中,我们可能会遇上软件中需要有很多下拉选择样式,就像之前我做的那个<房贷计算器>一样,有很多下拉选择,如果没有将Picker封装起来共用是很麻烦的. 安装插件 在Reac ...
随机推荐
- 【轮子狂魔】WeChatAPI 开源系统架构详解
如果使用WeChatAPI,它扮演着什么样的角色? 从图中我们可以看到主要分为3个部分: 1.业务系统 2.WeChatAPI: WeChatWebAPI,主要是接收微信服务器请求: WeChatAP ...
- Unity中容易被忽略的小技巧
今天在游戏蛮牛上看到慕容小匹夫的一篇文章,感觉对自己现在的水平很实用,就给转载了过来,以便日后好温习一下. 这里还是要支持原创作者,原文地址在这里 一.编辑器染色 一个常见的工作情景是我们在调整场景内 ...
- jmeter控制器(二)
循环控制器: 顾名思义就是做循环控制的,与线程组的循环一样的,不过这里的循环控制器是用在一个单独的模块的,而在线程组里面的循环是作用于全局的.循环控制器里面设置的循环次数是局部有效,只控制自己范围内的 ...
- centos7 上安装mysql5.7后登录报错ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: Yes 或者No)
原文转载自以下链接:https://blog.csdn.net/keepd/article/details/77151006 安装完mysql后会有个临时密码去日志查看,但是查看登录修改密后还是不行 ...
- python—索引与切片总结
python中索引与切片的熟练掌握对于字符串的操作很有帮助,梳理如下: (1)索引 S = 'hello world' 1)正向索引 正向索引从0开始,向右依次递增. 2)反向索引 反向索引从-1开始 ...
- Windows10子系统安装ubuntu+kali渗透环境
Windows10安装子系统ubuntu,安装完ubuntu后再安装katoolin才能使用kali. (katoolin渗透测试的Linux发行版,它可以让你在其他Linux发行版上使用Kali的全 ...
- Django缓存配置和使用
- 缓存 - 配置 CACHES = { 'default': { 'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'LOCAT ...
- lsmod命令详解
基础命令学习目录首页 原文链接:http://blog.sina.com.cn/s/blog_e6b2465d0101fuev.html lsmod——显示已载入系统的模块 lsmod 其实就是lis ...
- nginx正向vs反向代理
1.概述 nginx的正向代理,只能代理http.tcp等,不能代理https请求.有很多人不是很理解具体什么是nginx的正向代理.什么是反向代理.下面结合自己的使用做的一个简介: 1)正向代理: ...
- JVM新生代老年代详解
1.为什么会有年轻代 我们先来屡屡,为什么需要把堆分代?不分代不能完成他所做的事情么?其实不分代完全可以,分代的唯一理由就是优化GC性能.你先想想,如果没有分代,那我们所有的对象都在一块,GC的时候我 ...