四舍五入双小数点后两位
rounding off double two decimal points
double x = 9.29;
double y = 8.69;
double diff = floor((x - y)*100+0.5)/100.0;
这给了我 diff 为 0.6,但我需要它为 0.60(小数点后两位)有人可以帮我解决这个问题吗?
双精度值是0.6,因为0.6和0.60(数学上)是一回事。您需要在打印值时设置精度,而不是在计算时设置精度。
这可以通过以下方式完成
cout << setprecision (2) << diff << endl;
或
printf("%.2fn", diff);
如果你
正在使用C++你应该做这样的事情:
cout.precision(2);
cout << fixed << diff << "n";
如果您使用 C,请尝试以下操作:
printf("%.2en", diff);
precision
函数确定插入操作中要写入的最大位数以表示浮点值。因此,如果您执行此代码,您将获得
0.60
如果您将前提设置为 3,您将获得
0.600
我尝试了解决方案,但对我来说并不完全有效。我有这样的东西。
cout << "balance owing: " << balOwed[i] << endl;
注意:balOwed[i] 是类型为"double"的"数组"。它在一个 for 循环下。无论如何这将给出类似"欠款余额:1234.00"的输出。但是,它只给出类似"欠余额:1234"的输出。
我尝试使用:
cout.presicion(2);
cout << "balance owing: " << balOwed[i] << endl;
它没有用。所以最终对我有用的是以下代码:
cout.setf(ios::fixed);
cout.precision(2);
cout << "balance owing: " << balOwed[i] << endl;
为了让你们知道,我也尝试了 setprecision(2),并且必须包含一个新的库。但这也没有用。希望对您有所帮助!
相关文章:
- 如何在 c++ 中将小数点后两位数的浮点数分配给另一个浮点数
- 如何在C ++中替换整数的前两位数字?
- 如何输出计算到小数点后两位的中间器?
- 将两位数字转换为低内存表示的最快方法
- 如何在 C/C++ 中有效地计算双倍到两个小数点精度
- 如何在计算器中将大数字表示为小数点后两位C++
- 可视化 如何使用C++向右强制小数点后两位
- 四舍五入双小数点后两位
- 将浮点数限制为小数点后两位
- C++ 如何获取兰登数以及如何保存带有 ONY 两位小数的双精度
- 使用 "double" 输出具有两位小数的值
- 程序查找并打印第一个完全正方形 (i*i),其最后两位数字都是奇数
- 转换为十六进制并删除最后两位数字
- 我将如何在不使用 if 语句、字符数组、apstring 或 atoi 的情况下将带有两位数字的字符串转换为 int
- C++四舍五入小数点后两位
- 如何正确格式化c++浮点数到小数点后两位
- 四舍五入浮点数:精确地输出小数点后的两位数字
- 我在试着编写一种疾病在不同年龄段的发病率,我需要把它写成一个百分数它的精度是小数点后两位
- 如何将双精度转换为小数点后两位
- 将字节转换为两位十六进制数字