我正在用C++编写一个简单的程序来计算购买税并输出它.我的代码输出文本和设置但未更改的变量.但是,不是输出正在计算和根据税率设置的变量,而是输出0.感谢任何帮助!对我来说,第一周上课如果可以的话,试着把它弄下来:)
这是代码:
#include <iostream>
using namespace std;
int main()
{
int price = 52, stateTaxRate = 4, countyTaxRate = 2;
double stateTax = price / 100 * stateTaxRate;
double countyTax = price / 100 * countyTaxRate;
double totalTax = countyTax + stateTax;
double total = price + totalTax;
cout << "State Tax: " << stateTax << " ";
cout << "County Tax: " << countyTax << " ";
cout << "Total Tax: " << totalTax << " ";
cout << "Total: " << total << " ";
}
Run Code Online (Sandbox Code Playgroud)
你正在进行整数除法.
int price = 52, stateTaxRate = 4, countyTaxRate = 2;
Run Code Online (Sandbox Code Playgroud)
正在进行评估
price / 100
Run Code Online (Sandbox Code Playgroud)
结果为0.
整数除以另一个整数不会导致C++中的浮点数.它会截断(即删除)您希望在"."之后看到的所有内容.它不知道你正在评估的表达式的最内部点,最终所有东西都会转为双精度.
将变量更改为双精度数,您将获得不同的结果.