c++ - 在 C++ 中使用数学

标签 c++ math

我是一名 Java 开发人员,我也刚刚开始自学 C++。我知道 Java 和 C++ 之间的一些区别,但我不确定这里发生了什么。这是我遇到问题的代码。它只是来自一个教程,所以我不担心准确性。

void calculateHourly() {
    float totalWeeklyWage = mFltHourlySalary * mIntHoursWorked;
    float totalSales = mIntCostOfShoe * mIntUnitsSold;
    float totalCommission = (mIntHourlyCommission / 100) * totalSales;
    float grandTotalWage = totalWeeklyWage + totalCommission;

    cout << "You will get $" << grandTotalWage << " for selling " << mIntUnitsSold << " shoes in a week."
        << endl;
}

问题是线路

float totalCommission = (mIntHourlyCommission/100) * totalSales;

无论出于何种原因totalCommission = 0 当此方法完成运行时。我已经调试了这个和这个方法中的所有其他变量等于它们应该等于的值。凭借我的 Java 能力和我对 C++ 的了解,我知道这应该可行。

在这个方法中我是否遗漏了一些非常简单的东西,或者手头有更大的问题?非常感谢任何帮助。

最佳答案

100 被转换为 int 并四舍五入。

你需要使用

 float totalCommission = (mIntHourlyCommission / 100.) * totalSales;

 float totalCommission = (mIntHourlyCommission / (float) 100) * totalSales;

而不是直接将其转换为正确的类型。

关于c++ - 在 C++ 中使用数学,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13652063/

相关文章:

python - 我怎样才能在 python 中获得符号的平方根?

c++ - 我的循环可以再优化吗?

c++ - 将while循环变成数学方程式?

c++ - 如何在用户定义的tensorflow op中使用随机数?

c++ - 在 C++ 程序中使用 C 链接时参数丢失

c++ - 删除 XML 文件的特定内容

performance - 代码的递归求幂

php - 获取矩阵元素组合的最小总和

c++ - 多线程独立任务

c++ - 关于 Boost Signals2,没有名为 'apply' 的类模板