c#中的int和double相乘

本文关键字:double 相乘 int 中的 | 更新日期: 2023-09-27 18:05:28

我有一个问题,当我试图用double乘以int。int是baseSalary和employeeSapary(这是int数组)和佣金是双常数= .09我需要把employeeSalaries转换成int但总是遇到一个问题说我不能把int和double相乘。我尝试将double转换为int,但在这种情况下,employeesalary将始终是baseSalary,因为佣金将始终为0 (s*佣金)=0我怎样才能得到有效的employeeSalaries分数?谢谢你!

private int CalculateAndStoreSalary(int s, int i)
        {
            int.TryParse(txtSales.Text, out s);
            employeeSalaries[i] = baseSalary + (s * commission);          
            return employeeSalaries[i];
        }

c#中的int和double相乘

可以四舍五入,并指定为:

employeeSalaries[i] = Convert.ToInt32(Math.Round(baseSalary + (s * commission), 0));

它可能不是精确的,但类似的东西应该可以做到这一点,您将其四舍五入到最接近的零(或使用Floor或Ceiling始终向下/向上四舍五入),然后在赋值时将其转换为整数。