欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

std::setprecision、std::ios::fixed使用说明

发布时间:2023/12/15 编程问答 70 豆豆
生活随笔 收集整理的这篇文章主要介绍了 std::setprecision、std::ios::fixed使用说明 小编觉得挺不错的,现在分享给大家,帮大家做个参考.
  • 单独使用std::setprecision

如下:

#include <iostream> #include <iomanip> #include <cmath> #include <limits> int main() {const long double pi = std::acos(-1.L);std::cout << "default precision (6): " << pi << '\n'<< "std::setprecision(10): " << std::setprecision(10) << pi << '\n'<< "max precision: "<< std::setprecision(std::numeric_limits<long double>::digits10 + 1)<< pi << '\n'; }

输出如下:

可以看到当设置精度为多少位时,则输出数值中的数字(不包含小数点、正负号)就有多少位,如上例中的 std::setprecision(10) << pi,则输出3.141592654,不算小数点,数字有10位。

  • std::setprecision和std::ios::fixed一起使用

如下:

#include <iostream> #include <iomanip> #include <cmath> #include <limits> int main() {std::cout.setf(std::ios::fixed);const long double pi = std::acos(-1.L);std::cout << "default precision (6): " << pi << '\n'<< "std::setprecision(10): " << std::setprecision(10) << pi << '\n'<< "max precision: "<< std::setprecision(std::numeric_limits<long double>::digits10 + 1)<< pi << '\n'; }

输出结果如下:

可以看到,当 std::setprecision和std::ios::fixed一起使用时,则精度特指小数点后面保留的位数(注意和前面的区别,前面是包括小数点前面后面所有数字位数),如:上例中的 std::setprecision(10) << pi,则输出3.1415926536,不算小数点,小数点后面数字有10位

总结

以上是生活随笔为你收集整理的std::setprecision、std::ios::fixed使用说明的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。