提问人:whatsanoven 提问时间:2/10/2023 更新时间:2/12/2023 访问量:138
此 C++ 程序中使用的 setprecision() 的目的是什么?
What is the purpose of the setprecision() used in this C++ program?
问:
创建此示例程序的唯一目的是展示 setprecision 和 setw 的作用。我不明白第三行说“setprecision(5)”的目的。我注释了这条线以查看差异,但它看起来完全相同。难道就没有目的了吗?
cout << "\nSales Figures\n";
cout << "-------------\n";
cout << setprecision(5);
cout << "Day 1: " << setw(8) << day1 << endl;
cout << "Day 2: " << setw(8) << day2 << endl;
cout << "Day 3: " << setw(8) << day3 << endl;
cout << "Total: " << setw(8) << total << endl;
答:
1赞
Ethan N
2/10/2023
#1
该函数是“iomanip”库的一部分,当您需要将浮点数输出到一定数量的小数位时使用。这适用于显示货币金额和其他通常在小数点后以固定数字显示的内容(即使这些数字为 0)。setprecision()
假设您有一个名为 price 的浮点数:如果您在该浮点数中存储了 10.0,则当您打印到屏幕中时,C++ 将不知道要输出多少个小数点; 将使输出 10.00。setprecision(2)
您可以在以下链接中找到文档:https://cplusplus.com/reference/iomanip/setprecision/。
它包括以下代码作为工作原理的示例。setprecision()
// setprecision example
#include <iostream> // std::cout, std::fixed
#include <iomanip> // std::setprecision
int main () {
double f =3.14159;
std::cout << std::setprecision(5) << f << '\n'; // This outputs 3.1415
std::cout << std::setprecision(9) << f << '\n'; // This outputs 3.14159
std::cout << std::fixed;
std::cout << std::setprecision(5) << f << '\n'; // This outputs 3.14159
std::cout << std::setprecision(9) << f << '\n'; // This outputs 3.141590000
return 0;
}
请注意,setprecision()
仅适用于带有小数点的数据类型,例如浮点数和双精度值。
评论
cout << setprecision(2);
cout << setprecision(10);
day1
day2
day3
total