在 C++ 中,你可以使用 iomanip 头文件中的 setprecision()fixed 方法来控制小数点后的位数。这些方法可以与 cout 一起使用来输出特定位数的小数。

#include <iostream>
#include <iomanip>

int main() {
    double num = 3.14159;

    // 设置要显示的小数位数
    std::cout << std::fixed << std::setprecision(2) << num << std::endl; // 保留两位小数

    return 0;
}

这个例子中,std::fixed 设置了小数点后的位数,std::setprecision(2) 设置了要显示的小数位数为 2。你可以将 num 替换为你想要保留小数的任何浮点数。

setprecision(n)
   功能:控制浮点数显示的有效数字个数。

图中可以看

  • 由8-9两行代码可以看出,也是只写一次就可以。
  • 8-10行可以看出,只是四舍五入修改了数字的显示方法,并不是修改原数字。从常识我们可以知道,如果12.345数字本身改变,那就是两位有效数字变为 12,那从两位有效数字改为四位有效数字会变为 12.00,而不是12.34。
  • 11-12行可以看出如果要保留的太多,是不会补上0的(往下看有补0的方法)。
  • 13行中可以看出,如果小数点前的位数多于你要保留位数,则会使用科学计数法。
  • #include <iostream>
    
    #include <iomanip>
    
    using namespace std;
    
    int main(){
    
    double s=12.345;
    
    
    cout<<setprecision(2)<<s<<endl;
    
    cout<<s<<endl;
    
    cout<<setprecision(4)<<s<<endl;
    
    cout<<setprecision(6)<<s<<endl;
    
    cout<<setprecision(8)<<s<<endl;
    
    cout<<setprecision(1)<<s<<endl;
    
    
    return 0;
    
    }

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐