前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >UGL打印一下工资个税

UGL打印一下工资个税

作者头像
Taishan3721
发布2022-12-05 16:03:26
2980
发布2022-12-05 16:03:26
举报
文章被收录于专栏:这里只有VxWorks

挣个工资要缴多少税?

工资个人所得税计算方法如下

代码语言:javascript
复制
应纳税所得额 = 累计收入-累计免税收入-累计减除费用-累计专项扣除-累计专项附加扣除-累计依法确定的其他扣除

级数  累计预扣预缴应纳税所得额    预扣率(%)  速算扣除数
1     不超过36,000元的部分             3         0
2     超过36,000元至144,000元的部分   10      2520
3     超过144,000元至300,000元的部分  20     16920
4     超过300,000元至420,000元的部分  25     31920
5     超过420,000元至660,000元的部分  30     52920
6     超过660,000元至960,000元的部分  35     85920
7     超过960,000元的部分             45    181920

写个代码,在vx6里使用WindML跑一下

代码语言:javascript
复制
/*
 * 版权所有  公众号  VxWorks567
 */

/* 工资及全年收入个税 */

#include <stdio.h>
#include <ugl/ugl.h>

/* 以下三项, 根据个人实际情况, 自行调整 */
#define INSURANCE     1000    /* 社保与医保的个人承担部分 */
#define HOUSING_FUND  1000    /* 住房公积金的个人承担部分 */
#define ADDITIONAL    3000    /* 抵扣专项, 例如房贷/子女教育 */

/* 起征额 */
#define EXEMPTION   ((5000+INSURANCE+HOUSING_FUND+ADDITIONAL)*12)

/* 应纳税所得额等级 */
UINT32 TAX_THRESHOLD[] =
    {
     36000,
    144000,
    300000,
    420000,
    660000,
    960000,
    0xffffffff
    };

/* 税率 */
UINT32 TAX_RATE[] =
    {
     3,
    10,
    20,
    25,
    30,
    35,
    45
    };

/* 速算扣除 */
UINT32 DEDUCTION[] =
    {
         0,
      2520,
     16920,
     31920,
     52920,
     85920,
    181920
    };

/* 坐标 */
#define X1                10
#define Y1               760
#define X2              1005
#define Y2                10
#define STEP            1000
#define MULTIPLICATION     5
#define TOTAL         (X2-X1)

UINT32 afterTax(UINT32 income)
{
    UINT32 taxable;
    UINT32 tax;
    int i;

    /* 工资少于EXEMPTION时, 应纳税所得额 = 0 */
    if(income <= EXEMPTION)
        {
        taxable = 0;
        }
    else
        {
        taxable = income - EXEMPTION;
        }
        

    /* 应纳税额 = 应纳税所得额 * 适用税率 - 速算扣除数 */
    for(i=0; i<NELEMENTS(TAX_THRESHOLD); i++)
        {
        if(taxable<TAX_THRESHOLD[i])
            {
            tax = taxable * TAX_RATE[i] / 100 - DEDUCTION[i];
            break;
            }
        }

    return income - tax;
    }

void uglTax
    (
    UINT32 multi,   /* 收入增幅为1000的倍数 */
    UINT32 printOut /* 是否打印个税金额 */
    )
{
    UGL_REG_DATA *pRegData;
    UGL_GC_ID     gc;

    UINT32 income = 95000;/* 税前年收入 */
    UINT32 gain;
    UINT32 span;
    UINT32 num;

    uglDisplayOpen(0, 0, 0); 
    pRegData = uglRegistryFind(UGL_DISPLAY_TYPE, 0, 0, 0);
    gc = uglGcCreate((UGL_DEVICE_ID)pRegData->id);

    /* 坐标系 */
    uglForegroundColorSet(gc, 0xffffff);
    uglLine(gc, X1, Y1, X2, Y1);
    uglLine(gc, X1, Y1, X1, Y2);

    if(multi < 1)
        {
        multi = MULTIPLICATION;
        }
    for(num=1; num<TOTAL; num++)
        {
        income += STEP*multi;
        gain = afterTax(income);
        span = num*gain/income;
        uglPixelSet(gc, X1+num, Y1-num, 0xff00);
        uglPixelSet(gc, X1+num, Y1-(UINT32)span, 0xff0000);
        if(printOut != 0)
            {
            printf(" gain(%u)/income(%u) = %.2f%\n",
                gain, income, 100.0*gain/income);
            }
        }
#if 0
    uglGcDestroy(gc);
    uglDisplayClose(0);
#endif
    return;
    }

绿线是税前,红线是税后

年薪10万的,基本免税;20万的,每月400多块;年薪500万的,缴税约40%,高于劳务报酬的30%

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-12-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 这里只有VxWorks 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档