首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >薪酬净额=薪酬毛额问题

薪酬净额=薪酬毛额问题
EN

Stack Overflow用户
提问于 2016-01-23 20:04:50
回答 1查看 216关注 0票数 1

我有一个非常简单的程序,根据用户的输入计算毛薪和净工资,我得到的净额和总薪酬的数字是一样的。有谁能告诉我,为什么没有基于这个考虑税收?我省略了一些代码,所以它应该足够小,让人快速阅读。

代码语言:javascript
复制
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication4
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Enter tax percentage: 23 for divorced, 13 for                                                              widowed, 15 for married, 22 for single");
            taxPercentage = Int16.Parse(Console.ReadLine());

            double statusTax = taxPercentage / 100;
            Console.WriteLine("Enter amount of overtime hours earned");
            overtimeHours = Convert.ToDouble(Console.ReadLine());
            overtimeRate = 1.5;
            double overtimePay = overtimeHours * overtimeRate;
            double grossPay = overtimePay + normalPay;
            double netPay = grossPay - (grossPay * statusTax);
            Console.WriteLine("Gross Pay is");
            Console.WriteLine(grossPay);
            Console.WriteLine("Net pay is");
            Console.WriteLine(netPay);                                       
        }
    }
}

有人有意见吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-23 20:10:12

我强烈怀疑您的taxPercentage小于100,所以您的statusTax将是0,因为即使您想要将它保存为double,也会执行整数除法

这就是为什么你

代码语言:javascript
复制
double netPay = grossPay - (grossPay * statusTax);

将会是

代码语言:javascript
复制
double netPay = grossPay - (grossPay * 0);

代码语言:javascript
复制
double netPay = grossPay;

要解决这个问题,请将您的操作数更改为浮点值,如;

代码语言:javascript
复制
double statusTax = taxPercentage / 100.0;

代码语言:javascript
复制
double statusTax = (double)taxPercentage / 100;
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34968237

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档