zoukankan      html  css  js  c++  java
  • 个税计算器完美终极版

    个人所得税计算器软件是一款使用超强方便、快捷的个人所得税计算软件。
      本软件严格按照国家《个人所得税法》相关规定制作,税目分类清晰,计算结果准确可靠,可非常方便地对工资薪金所得;
      本软件体积小巧、界面简洁、使用方便,是是您计算个人所得税的得力助手,相信使用本软件后定能给您带来极大的方便,让你再不必为在计算时该使用哪一级税率,速算扣除数是多少而烦恼。

    2011-11-03 推出1.0.1版本:
      本版本只支持2011年9月份以后的新税制。

    2011-11-07日升级内容:
    1. 添加动画效果。
    2. 解决小屏幕UI显示问题。

    2011-12-04日升级内容:
    1. 增加新老税制对比。
    2. 解决高分辨率屏幕UI显示问题。
    3. 解决个税为0时的崩溃bug
     
    2011-12-27日升级内容:
    1. 增加帮助信息。
    2. 增加个人和企业缴费对比。
    3. 解决社保上限bug。
    4. 支持全国主要的37个城市的社保。
     
     

     

    下载地址:

    /Files/kangyi/android app/BestTaxCalculatorSigned.zip 

     

      1     /**

     2      * 全月应纳所得税额                     税率     速算扣除数 
     3      * 全月纳税额不超过1500元             3%         0 
     4      * 全月纳税额不超过1500元至4500元     10%     105
     5      * 全月纳税额不超过4500元至9000元     20%     555
     6      * 全月纳税额不超过9000元至35000元     25%     1005
     7      * 全月纳税额不超过35000元至55000元    30%     2755 
     8      * 全月纳税额不超过55000元至80000元     35%     5505
     9      * 全月纳税额超过80000元                 45%     13505
    10      * 
    11      * @param wage
    12      *            your salary
    13      *
    14      */
    15     static HashMap<String, Double> taxCal(double wage) {
    16         HashMap<String, Double> hashMap = new HashMap<String, Double>();
    17         // 工资上缴个人所得税表 (工资-3500) 之后的起始、终止、税率、减除额
    18         ArrayList<TaxTable> taxTables = new ArrayList<TaxTable>();
    19         taxTables.add(new TaxTable(0, 1500, 3, 0));
    20         taxTables.add(new TaxTable(1500, 4500, 10, 105));
    21         taxTables.add(new TaxTable(4500, 9000, 20, 555));
    22         taxTables.add(new TaxTable(9000, 35000, 25, 1005));
    23         taxTables.add(new TaxTable(35000, 55000, 30, 2755));
    24         taxTables.add(new TaxTable(55000, 80000, 35, 5505));
    25         taxTables.add(new TaxTable(80000, Double.MAX_VALUE, 45, 13505));
    26         
    27         // 工资上缴个人所得税表 (工资-2000) 之后的起始、终止、税率、减除额
    28         ArrayList<TaxTable> oldTaxTables = new ArrayList<TaxTable>();
    29         oldTaxTables.add(new TaxTable(0, 500, 5, 0));
    30         oldTaxTables.add(new TaxTable(500, 2000, 10, 25));
    31         oldTaxTables.add(new TaxTable(2000, 5000, 15, 125));
    32         oldTaxTables.add(new TaxTable(5000, 20000, 20, 375));
    33         oldTaxTables.add(new TaxTable(20000, 40000, 25, 1375));
    34         oldTaxTables.add(new TaxTable(40000, 60000, 30, 3375));
    35         oldTaxTables.add(new TaxTable(60000, 80000, 35, 6375));
    36         oldTaxTables.add(new TaxTable(80000, 100000, 40, 10375));
    37         oldTaxTables.add(new TaxTable(100000, Double.MAX_VALUE, 45, 15375));
    38         
    39         double wage_Tax = wage - THRESHOLD;
    40         double tax = 0;
    41         try {
    42             
    43             for (TaxTable tb : taxTables) {
    44                 if (wage_Tax > tb.mTax_low && wage_Tax <= tb.mTax_up) {
    45                     tax = Arith.div(Arith.mul(wage_Tax, tb.mTaxRate), 100) - tb.mDeduct;
    46                     hashMap.put("new_tax", tax);
    47                     break;
    48                 }
    49             }
    50             
    51             wage_Tax = wage - 2000;
    52             for (TaxTable tb : oldTaxTables) {
    53                 if (wage_Tax > tb.mTax_low && wage_Tax <= tb.mTax_up) {
    54                     tax = Arith.div(Arith.mul(wage_Tax, tb.mTaxRate), 100) - tb.mDeduct;
    55                     hashMap.put("old_tax", tax);
    56                     break;
    57                 }
    58             }
    59             
    60             if(!hashMap.containsKey("new_tax")) hashMap.put("new_tax", 0.0);
    61             if(!hashMap.containsKey("old_tax")) hashMap.put("old_tax", 0.0);
    62             
    63             double remain = wage - tax;
    64             String output = "税前工资" + Arith.round(wage, 2) + "元\r\n" + "税后工资" + Arith.round(remain, 2)
    65                     + "元\r\n" + "应交个人所得税:" + Arith.round(tax, 2) + "";
    66             
    67             String output1 = "税前工资" + wage + "元\r\n" + "税后工资" + remain
    68             + "元\r\n" + "应交个人所得税:" + tax;
    69             System.out.println(output);
    70             System.out.println("=================================================");
    71             System.out.println(output1);
    72         } catch (Exception ex) {
    73             System.out.println(ex.toString());
    74         }
    75         return hashMap;
    76     }
  • 相关阅读:
    LeetCode: LRU Cache
    LeetCode: Reorder List
    LeetCode: Linked List Cycle I && II
    LeetCode: Word Break I && II
    LeetCode: Single Number I && II
    太坑了,mybatis注解一对多,id没了
    ajax请求参数的格式
    查询结果拼接
    id拼接保存到单个字段后作为表连接的查询条件
    seam的定时轮巡
  • 原文地址:https://www.cnblogs.com/kangyi/p/Tax_Calculator.html
Copyright © 2011-2022 走看看