去年10月份开始个人所得税支持专项扣除和上调了个税起征点,针对该项改变写了一个小demo,在新政策下计算个人所得税扣除,工资所得,然后将每个月的扣除额度和实际所得额度展示。
截图如下:



直接上源码:

package com.chuck.taxcalculatorimport android.app.Activity
import android.os.Bundle
import android.view.View
import android.widget.Button
import android.widget.EditText
import android.widget.TextView
import android.widget.Toast
import java.text.DecimalFormatclass MainActivity : Activity() {private lateinit var salary: EditTextprivate lateinit var specialDesc: EditTextprivate lateinit var gongJiJin: EditTextprivate lateinit var gongjiJinBase: EditTextprivate lateinit var shebao: EditTextprivate lateinit var startCalc: Buttonprivate lateinit var result: TextView/*级数    累计预扣预缴应纳税所得额    预扣税率(%)    速算扣除数1    不超过36000元的部分               3            02    超过36000元至144000元的部分       10          25203    超过144000元至300000元的部分      20          169204    超过300000元至420000元的部分      25          319205    超过420000元至660000元的部分      30          529206    超过660000元至960000元的部分      35          859207    超过960000元的部分                45          181920*/val TOTAL_MONTH = 12override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.activity_main)val df = DecimalFormat("0.00")salary = findViewById(R.id.salary)specialDesc = findViewById(R.id.special_desc)gongJiJin = findViewById(R.id.gongjijin)shebao = findViewById(R.id.shebao)startCalc = findViewById(R.id.start_calc)result = findViewById(R.id.result)gongjiJinBase = findViewById(R.id.gongjijin_base)result.visibility = View.INVISIBLEstartCalc.setOnClickListener {val salaryStr: String = salary.text.toString()val specialDescStr: String = specialDesc.text.toString()val gongJiJinStr: String = gongJiJin.text.toString()val shebaoStr: String = shebao.text.toString()val gongjijinBase: String = gongjiJinBase.text.toString()if (salaryStr.isEmpty()|| specialDescStr.isEmpty()|| gongJiJinStr.isEmpty()|| shebaoStr.isEmpty()) {Toast.makeText(this, "请完善相关信息", Toast.LENGTH_LONG).show()return@setOnClickListener}result.visibility = View.VISIBLEval salaryNum = salaryStr.toFloat()val specialDescNum = specialDescStr.toFloat()val gongJiJingNum = gongjijinBase.toInt() * (gongJiJinStr.toFloat() / 100)val shebaoNum = salaryNum * (shebaoStr.toFloat() / 100)if (salaryNum <= 5000|| specialDescNum <= 0|| gongJiJingNum <= 0|| shebaoNum <= 0) {Toast.makeText(this, "相关信息不合法", Toast.LENGTH_LONG).show()return@setOnClickListener}var totalSalaryNum = 0Fvar totalTaxNum = 0Fvar instantDesc = 0Fval totalBuilder = StringBuilder()for (index in 1..TOTAL_MONTH) {val total =salaryNum * index -5000 * index -specialDescNum * index -gongJiJingNum * index -shebaoNum * indexvar taxNum = 0Fvar taxRate = 0Fwhen (total) {in 0..36000 -> {taxNum = total * 0.03FinstantDesc = 0FtaxRate = 0.03F}in 36000..144000 -> {taxNum = total * 0.1FinstantDesc = 2520FtaxRate = 0.1F}in 144000..300000 -> {taxNum = total * 0.2FinstantDesc = 16920FtaxRate = 0.2F}in 300000..420000 -> {taxNum = total * 0.25FinstantDesc = 31920FtaxRate = 0.25F}in 420000..660000 -> {taxNum = total * 0.3FinstantDesc = 52920FtaxRate = 0.3F}in 660000..960000 -> {taxNum = total * 0.35FinstantDesc = 85920FtaxRate = 0.35F}else -> {taxNum = total * 0.45FinstantDesc = 181920FtaxRate = 0.45F}}val actualNum = taxNum - totalTaxNum - instantDesctotalTaxNum += actualNumval actualSalary = salaryNum - actualNum - shebaoNum - gongJiJingNumtotalSalaryNum += actualSalarytotalBuilder.append(index).append("月份,税额:").append(df.format(actualNum)).append(",当月工资:").append(df.format(actualSalary)).append(",需要纳税的额度:").append(df.format(total)).append(",适用的税率:").append(taxRate).append("\n\n")}totalBuilder.append("你的总工资:").append(df.format(totalSalaryNum)).append("\n缴纳的总税额:").append(df.format(totalTaxNum)).append("\n公积金年总额(个人&公司):").append(df.format(gongJiJingNum * 2 * 12)).append("\n\n")result.text = totalBuilder.toString()}}
}

xml视图部分:

<?xml version="1.0" encoding="utf-8"?>
<ScrollViewxmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:background="@null"tools:context=".MainActivity"><LinearLayoutandroid:background="@null"android:layout_marginTop="24dp"android:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="vertical"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="48dp"android:orientation="horizontal"><TextViewandroid:text="月工资额:"android:gravity="center|start"android:textSize="18sp"android:layout_width="wrap_content"android:layout_height="match_parent"/><EditTextandroid:id="@+id/salary"android:layout_width="wrap_content"android:layout_height="match_parent"android:textSize="18sp"android:gravity="center|start"android:textCursorDrawable="@drawable/edit_cursor_color"android:layout_marginStart="8dp"android:inputType="number"android:background="@drawable/input_background"android:hint="月工资额"/></LinearLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="48dp"android:layout_marginTop="16dp"android:orientation="horizontal"><TextViewandroid:text="专项扣除额度:"android:gravity="center|start"android:textSize="18sp"android:layout_width="wrap_content"android:layout_height="match_parent"/><EditTextandroid:id="@+id/special_desc"android:layout_width="wrap_content"android:layout_height="match_parent"android:textSize="18sp"android:gravity="center|start"android:layout_marginStart="8dp"android:inputType="number"android:textCursorDrawable="@drawable/edit_cursor_color"android:background="@drawable/input_background"android:hint="专项扣除额度"/></LinearLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="48dp"android:layout_marginTop="16dp"android:orientation="horizontal"><TextViewandroid:text="公积金缴费基数:"android:gravity="center|start"android:textSize="18sp"android:layout_width="wrap_content"android:layout_height="match_parent"/><EditTextandroid:id="@+id/gongjijin_base"android:layout_width="wrap_content"android:layout_height="match_parent"android:textSize="18sp"android:gravity="center|start"android:layout_marginStart="8dp"android:inputType="number"android:textCursorDrawable="@drawable/edit_cursor_color"android:background="@drawable/input_background"android:hint="基数在支付宝城市服务中可查"/></LinearLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="48dp"android:layout_marginTop="16dp"android:orientation="horizontal"><TextViewandroid:text="公积金缴费比例:"android:gravity="center|start"android:textSize="18sp"android:layout_width="wrap_content"android:layout_height="match_parent"/><EditTextandroid:id="@+id/gongjijin"android:layout_width="wrap_content"android:layout_height="match_parent"android:textSize="18sp"android:gravity="center|start"android:layout_marginStart="8dp"android:inputType="number"android:textCursorDrawable="@drawable/edit_cursor_color"android:background="@drawable/input_background"android:hint="比例12%,则填12"/></LinearLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="48dp"android:layout_marginTop="16dp"android:orientation="horizontal"><TextViewandroid:text="社保缴费比例:"android:gravity="center|start"android:textSize="18sp"android:layout_width="wrap_content"android:layout_height="match_parent"/><EditTextandroid:id="@+id/shebao"android:layout_width="wrap_content"android:layout_height="match_parent"android:textSize="18sp"android:background="@drawable/input_background"android:gravity="center|start"android:textCursorDrawable="@drawable/edit_cursor_color"android:layout_marginStart="8dp"android:inputType="number"android:hint="比例12%,则填12"/></LinearLayout><Buttonandroid:id="@+id/start_calc"android:layout_width="match_parent"android:layout_height="wrap_content"android:textSize="18sp"android:background="@drawable/input_background"android:layout_margin="16dp"android:text="开始计算"/><TextViewandroid:id="@+id/result"android:layout_margin="8dp"android:textSize="18sp"android:background="@android:color/darker_gray"android:layout_width="match_parent"android:layout_height="wrap_content"/></LinearLayout>
</ScrollView>

微信公众号:Android部落格

Android 新版个税计算小demo程序相关推荐

  1. android 腾讯微博登录小demo

    目前越来越多的app,都需要集成三方登录(腾讯微博.新浪微博.人人等等).这里分享一个简单的腾讯微博demo.废话不多说,三步走. 第一步注册一个账户,并创建一个应用.获取app ID与 app Ke ...

  2. java年终奖怎么算的啊,2020新版个税计算--年终奖计算[Java版]

    前言 上篇文章介绍了如何计算自己的每月工资,那年终奖又是如何计算的呢?年终奖的计算其实更加简单,因为它并不存在起征点,专项扣除等概念.也不需要扣除五险一金,下面让我们来计算一下年终奖吧. 计算税后年终 ...

  3. Android学习小Demo(9)一个To Do List的实现

    记得看过一篇文章,是说一个人临走之前,列下了想做的最后100件事情,然后拿着这张便签,一件一件地去实现.又想起乔布斯说,如果今天是你的最后一天,你会怎么过? 我有很多事情想做,想写很多的文章,但是时间 ...

  4. Android API Demo程序框架

    前言 android API Demo程序主要演示了Android常见API的使用方法, 本文将该程序的框架提取出来, 以作为自己研究和学习Android编程的一个示例收集框架,即将所有自己研究过的例 ...

  5. stm32CAN波特率计算小程序(QT源码)

    软件:Qt Creator 开发环境:Window7 用qt做得一个计算波特率的小程序,在实际的应用中我们设置波特率的时候是通过以下参数来定的: CAN_InitStructure.CAN_SJW=C ...

  6. 结束python服务器进程_服务器端后台持续执行python程序小demo

    冰先生:python小脚本,爬天气预报并定时发邮件提醒(适合小情侣的甜蜜打开方式)​zhuanlan.zhihu.com 上一篇写了做个可以发送邮件的小demo,这一篇呢我们来谈一谈如何让他更加方便的 ...

  7. Java黑皮书课后题第6章:*6.15(金融应用:打印税表)程序清单3-5给出了计算税款的程序。使用下面的方法体编写一个计算税款的方法。使用这个方法编写程序,打印可征税人从50000到60000间隔

    *6.15(金融应用:打印税表)程序清单3-5给出了计算税款的程序.使用下面的方法体编写一个计算税款的方法.使用这个方法编写程序 题目 题目描述 破题 程序清单3-5(非本题):代码不全 补充代码:编 ...

  8. 全新版个人博客小程序,无需开发服务端接口即可使用

    介绍: 全新版个人博客小程序,服务端使用的是Bmob后端云,无需开发服务端接口即可使用,快速便捷,代码简洁,功能包括文章列表,文章分类列表,赞赏功能,签到,收藏文章,查看文章,点赞文章,消息通知,评论 ...

  9. Android学习小Demo(12)TodoList实现ListView的分组实现

    很多情况下, 我们想要ListView上面展示的东西是可以分组的,比如联系人列表,国家列表啊,这样看起来数据的展现比较有层次感,而且也有助于我们快速定位到某一个具体的条目上,具体效果请看下图: 这是前 ...

最新文章

  1. 深度特征合成与遗传特征生成,两种自动特征生成策略的比较
  2. TCP/UDP网络编程调试助手下载
  3. DB2数据库常用工具
  4. 制作openstack Centos镜像 -- Example: CentOS image
  5. windows7旗舰版系统自带组件IIS搭建ftp
  6. goland go test_七天用Go写个docker(第一天)
  7. javascript 计算两个坐标的距离 米_土方全面应用计算
  8. P2633-Count on a tree【主席树,LCA】
  9. 语音识别热词_出门问问 TWS 耳机语音交互解决方案
  10. C++ 重载赋值运算符与11选5平台修复
  11. solr set java opts_關於 Apache Solr 無法啟動的問題
  12. 现代科技概论_现代科技概论课程:力与运动1
  13. Android长时间后台运行Service
  14. POS Tagging 标签类型查询表(Penn Treebank Project)
  15. JFinal Template Engine 使用
  16. 课程学习评价系统设计与实现
  17. Sql Server2008R2的完全卸载及重新安装
  18. 2020最新抖音上热门技巧你知道了几个?
  19. 关于yolov5出现报错 KeyError: ‘copy_paste‘之类Key问题解决办法
  20. Tomcat后台管理

热门文章

  1. 热销超极本iFunk翼S到底怎么样?
  2. 大学生计算机教程个人总结报告,大学生学习自我总结
  3. 更快地编写更好的代码:5 分钟阅读
  4. flutter安装_在macOS上搭建Flutter开发环境
  5. 浅谈搜索引擎排序2020-09-04
  6. Java学习-面向对象进阶
  7. jmeter工具进行性能测试
  8. AI 也有音乐细胞,流行乐古典乐都难不倒它
  9. 四川大学计算机学院软件工程期末,2015四川大学软件工程期末复习.doc
  10. 研究生放假因疫情未按时返回,扣助研补贴!实验室奇葩规定引热议