使用 "double" 输出具有两位小数的值
Outputting a value with two decimals using "double"
我正在开发一个程序,该程序根据用户输入的值输出在汽油上花费的总金额。我希望它输出一个小数点后 2 位的值,但程序对总数进行四舍五入,而不是输出总数应该是多少。我是初学者,不知道为什么它无法正常工作。
double gasPrice = 3.87;
double gallonsPumped = 0;
cout<<"How many gallons of gasoline (Diesel) were purchased today:"<<endl;
cin>>gallonsPumped;
int finalGasPrice = gasPrice*gallonsPumped;
cout<<endl;
if (gallonsPumped >= 1)
{
cout<<endl<<"The total cost for gasoline today was $"<<finalGasPrice<<"."<<endl;
}
else
{
cout<<"No money spent on gasoline today.";
}
int 类型是一个整数 - 即没有小数位,因此乘法向下舍入到最接近的整数。
您想要使用浮点数或双精度数: double finalGasPrice = gasPrice*gallonsPumped;
要使输出格式在小数点后精确显示两位数字,您可能需要使用如下内容: cout << setiosflags(ios::fixed) << setprecision(2) << finalGasPrice;
整数只能容纳整数:没有小数或分数。因此,当您设置 finalgasprice 时,结果将被截断为整数。将最终gas价格初始化为双精度将解决此问题。您还应该将">= 1"更改为">= 0",除非您希望低于一美元的付款不被注意。
相关文章:
- 计算 PI 最多 42 位小数
- 在数学上将浮点数四舍五入到 N 位小数
- 如何在C ++中替换整数的前两位数字?
- c++只关心2位小数,没有设置精度
- 如何输出计算到小数点后两位的中间器?
- 将两位数字转换为低内存表示的最快方法
- 时间戳差为两个小数C
- 计算 Pi 的值高达 'n' 位小数
- 将字符串转换为双精度,而字符串有 N 位小数,C++
- 如何在计算器中将大数字表示为小数点后两位C++
- 可视化 如何使用C++向右强制小数点后两位
- 如何在C++中计算10位小数精度的双变量
- 你如何在数字上添加 2 位小数
- 如何在C++中使用 cout 打印带有 2 位小数的浮动
- 四舍五入双小数点后两位
- 将浮点数限制为小数点后两位
- C++ 如何获取兰登数以及如何保存带有 ONY 两位小数的双精度
- 使用 "double" 输出具有两位小数的值
- 将 13 位小数转换为日期时间
- 程序查找并打印第一个完全正方形 (i*i),其最后两位数字都是奇数