元旦放假三天,終於有時間可以歇一歇了。到現在已經工作兩個周了,這期間如果用乙個字形容是:忙,用另外乙個字形容就是:累。
入職第一天,專案經理給我簡單的介紹了一下公司使用的框架,然後給我分配了乙個任務練練手,完成目前正在做的專案的基礎資料部分最簡單的增刪查改,還好,照著現有的例子很快就完成了。就這樣,從第一天開始就參與到專案中來,每天都有任務。工作之前,我還有乙個專案沒有完成,只能在晚上8點到11點抽出僅有的3個小時來完成。以前在學校的時候,中午還可以看個電影,現在我已經兩周沒看電影了,明天回學校,看看我們網路中心的孩子們,有些想他們了。
我們目前做的是某集團的薪酬考評系統,前幾天涉及到計算個人所得稅的問題,也沒有什麼好的計算方法,下面給出我的方法,如果大家有什麼好的方法,懇請指教。
問題描述:有兩個表,乙個父表,乙個子表,用來儲存個稅稅率設定。在父表中可以儲存多個個稅稅率設定,有乙個「起徵額」字段,子表儲存每個個稅稅率設定的詳細資訊,如下面兩個表所示:
現行個稅9級超額累進稅率
全月應納稅所得額
稅率%速算扣除數(元)
全月應納稅額不超過500元5%0
全月應納稅額超過500元至2000元
10%25
全月應納稅額超過2000元至5000元
15%125
全月應納稅額超過5000元至20000元
20%375
全月應納稅額超過20000元至40000元
25%1375
全月應納稅額超過40000元至60000元
30%3375
全月應納稅額超過60000元至80000元
35%6375
全月應納稅額超過80000元至100000元
40%10375
全月應納稅額超過100000元
45%15375
2023年9月1日起調整後的7級超額累進稅率:
全月應納稅所得額
稅率%速算扣除數(元)
全月應納稅額不超過1500元3%0
全月應納稅額超過1500元至4500元
10%105
全月應納稅額超過4500元至9000元
20%555
全月應納稅額超過9000元至35000元
25%1005
全月應納稅額超過35000元至55000元
30%2755
全月應納稅額超過55000元至80000元
35%5505
全月應納稅額超過80000元
45%13505
我的計算方法:為了方便起見,我用控制台寫了乙個例子。
首先定義兩個類:
public class在mian方法中初始化:incometax
/// ///
起徵額
///
public decimal startmoney
public
list
incometaxdetaillist
}public class
incometaxdetail
/// ///
最低
///
public decimal minmoney
/// ///
最高
///
public decimal maxmoney
/// ///
稅率
///
public decimal taxrate
/// ///
速扣數
///
public decimal koumoney
public
incometax incometax
}
incometax it_7 = new計算個人所得稅方法:incometax()
, new
incometaxdetail(),
new
incometaxdetail(),
new
incometaxdetail(),
new
incometaxdetail(),
new
incometaxdetail(),
new
incometaxdetail()
}};incometax it_9 = new
incometax()
, new
incometaxdetail(),
new
incometaxdetail(),
new
incometaxdetail(),
new
incometaxdetail(),
new
incometaxdetail(),
new
incometaxdetail(),
new
incometaxdetail(),
new
incometaxdetail()}};
*稅率-速扣數=個人所得稅。
/// ///下面在main方法中,測試一下兩種稅率情況下的個人所得稅吧,假設計稅工資為6000計算個人所得稅
///
///
計稅工資
///
起徵額///
個稅稅率列表
///
輸出個人所得稅
public static void calculateincometax(decimal taxsalary, decimal startmoney, list
list, out decimal taxmoney)
if (exceedsalary > detaillist[detaillist.count - 1].minmoney)
for (int i = 0; i < detaillist.count - 2; i++)}}
//計稅工資=總工資-三險一金執行結果如下圖所示:decimal taxsalary = 6000;
//起徵額
decimal startmoney_7 = it_7.startmoney;
decimal startmoney_9 = it_9.startmoney;
decimal taxmoney;
calculateincometax(taxsalary, startmoney_7, it_7.incometaxdetaillist, out taxmoney);
console.writeline("7級超額累進稅率時的個人所得稅是:" + taxmoney);
calculateincometax(taxsalary, startmoney_9, it_9.incometaxdetaillist, out taxmoney);
console.writeline("9級超額累進稅率時的個人所得稅是:" + taxmoney);
另外計算個人所得稅的方法還有另外一種方法:
/// ///今天就寫到這吧,祝大家新年快樂!計算個人所得稅
///
///
計稅工資
///
起徵額///
個稅稅率列表
///
輸出個人所得稅
public static void calculateincometax(decimal taxsalary, decimal startmoney, list
list, out decimal taxmoney)
else
}
工作的一點總結
工作效率 專案 需求的任務拆解 按照分析 設計 設計評審 資料結構設計 程式開發 測試 聯調 等環節進行任務拆解,拆成不大於3人 日的粒度,進行排期。列出每個環節的具體任務list,每天跟進,前一天做第二天的任務list,同時在當天完成的任務上打對號。應對中斷與階段性休息 工作中,時長被打斷已經是常...
做兩個系統後的一點小創新
前段時間我們使用vb做了學生管理系統和機房收費系統,都是連線資料庫的,大多數操作幾乎都是對資料庫中表的操作。其中存在乙個問題就是 有很多窗體都是類似的,窗體中的控制項都幾乎是一樣的,當對資料庫中的表新增記錄或者是修改的時候都需要對窗體中文字框中的字串是否為空進行判斷。如果在每個窗體中都這樣判斷,重複...
關於判斷兩個矩陣相交的一點想法
今天在閱讀chipmunk2d原始碼時,在cpbb.h中看到了乙個判讀矩陣相交的函式 static inline cpbool cpbbintersects const cpbb a,const cpbb b 將其轉換為熟悉的c 後 typedef struct crect bool crectin...