zoukankan      html  css  js  c++  java
  • c/c++输出保留小数

    c语言中,用print可以有格式符号,例如想让a保留两位小数

    float a;
    print( "%.2f", a);

    注意这里如果a是0.1, 那么打印出来会自动补0,也就是结果显示为0.10。

    c++中没有这种格式符,所以用std中函数设定。(iomanip库)

    一种写法是提前声明,一种是cout <<  xxx << endl中声明

    #include <iostream>
    #include <iomanip>
    
    using namespace std;
    
    int main()
    {
        float a = 0.123;
        cout << a << " without setting" << endl;
    
    
        cout << setprecision(5) <<a << " without fixed" << endl;
    
    
        cout.setf( ios::fixed );
        cout << setprecision(5) << a << " with fixed" << endl;
    
    
        cout.setf(ios::fixed);
        cout.precision(5);
        cout << a << " with fixed" << endl;
    }

    输出结果为  

    0.123 without setting
    0.123 without fixed
    0.12300 with fixed
    0.12300 with fixed

    setprecision()控制输出流,所以要写在cout << xxxxxxxxxxxxx <<endl中,

    cout.precision可以提前控制输出精度,

    两种方法都可以设置精度大小

    fixed是设置补零,如果不想补零,可以关闭fixed设定

    cout.unsetf(ios::fixed);  

    PS:设置精度是会四舍五入的,比如0.987,设置精度为2,则会进一位   输出0.99

    什么时候能够不再这么懒惰
  • 相关阅读:
    [Git]01 如何安装和配置
    [ext4]09 磁盘布局
    [ext4]磁盘布局
    [ext4]01 磁盘布局
    [工具技巧] SecureCRT使用技巧 V1.0
    [内存管理]管理图解v0.1 v0.2 v0.3
    内核源码目录结构
    共享内存删除的安全“陷阱”
    基于header的一些常用指令详解
    18、前端知识点--自定义指令
  • 原文地址:https://www.cnblogs.com/chaoswr/p/7783515.html
Copyright © 2011-2022 走看看