c++中的showpoint - CSDN
  • out //用一般的方式输出浮点型,例如C++程序在控制台显示大一点的数,显示的时候使用了科学计数法,使用该命令即可像一般的方式显示 cout.precision(2) //设置精确度为2,并返回上一次的设置。 cout.setf...

    out<<fixed  //用一般的方式输出浮点型,例如C++程序在控制台显示大一点的数,显示的时候使用了科学计数法,使用该命令即可像一般的方式显示

    cout.precision(2) //设置精确度为2,并返回上一次的设置。

    cout.setf(iOS_base::showpoint)  //显示浮点数小数点后面的零。


    更多格式说明

    用来格式控制的。setf()是追加标志字的函数,而flags()是设置标志字
    fixed标志是以定点形式显示浮点数showpoint标志是强制显示小数点precision就是精度,表示输出多少小数位。
    试试这段代码你就知道了
    #include <iostream.h>
    #include <iomanip.h>
    void main(void)
    {
    cout.setf(ios::fixed);
    cout<<setprecision(2)<<(float)0.1<<endl;//输出0.10

    cout.unsetf(ios::fixed);
    cout<<setprecision(2)<<(float)0.1<<endl; //输出0.1
    } 以下是一些常见的控制函数的:
    dec 置基数为10 相当于"%d"
    hex 置基数为16 相当于"%X"
    oct 置基数为8 相当于"%o"
    setfill(c) 设填充字符为c
    setprecision(n) 设显示小数精度为n位
    setw(n) 设域宽为n个字符
    这个控制符的意思是保证输出宽度为n。如:
    cout<<setw(3)<<1<<setw(3)<<10<<setw(3)<<100; 输出结果为
    1 10100 (默认是右对齐)当输出长度大于3时(<<1000),setw(3)不起作用。
    setioflags(ios::fixed) 固定的浮点显示
    setioflags(ios::scientific) 指数表示
    setiosflags(ios::left) 左对齐
    setiosflags(ios::right) 右对齐
    setiosflags(ios::skipws 忽略前导空白
    setiosflags(ios::uppercase) 16进制数大写输出
    setiosflags(ios::lowercase) 16进制小写输出
    setiosflags(ios::showpoint) 强制显示小数点
    setiosflags(ios::showpos) 强制显示符号
    输出实例加源代码
    // outfile.cpp -- writing to a file
    #include <iostream>
    #include <fstream>                  // for file I/O
    
    int main()
    {
        using namespace std;
        char automobile[50];
        int year;
        double a_price;
        double d_price;
        ofstream outFile;               // create object for output
        outFile.open("carinfo.txt");    // associate with a file
        cout << "Enter the make and model of automobile: ";
        cin.getline(automobile, 50);
        cout << "Enter the model year: ";
        cin >> year;
        cout << "Enter the original asking price: ";
        cin >> a_price;
        d_price = 0.913 * a_price;
    
    // display information on screen with cout
        cout << fixed;
        cout.precision(2);
        cout.setf(ios_base::showpoint);
        cout << "Make and model: " << automobile << endl;
        cout << "Year: " << year << endl;
        cout << "Was asking $" << a_price << endl;
        cout << "Now asking $" << d_price << endl;
    
    // now do exact same things using outFile instead of cout
        outFile << fixed;
        outFile.precision(2);
        outFile.setf(ios_base::showpoint);
        outFile << "Make and model: " << automobile << endl;
        outFile << "Year: " << year << endl;
        outFile << "Was asking $" << a_price << endl;
        outFile << "Now asking $" << d_price << endl;
         
        outFile.close();              // done with file
        // cin.get();
        // cin.get();
        return 0;
    }
    
    cout输出结果(图左侧窗口)和outFile输出结果(图右侧TXT文本文件)见图;该TXT文本是由outFile.open()关联的,文件位置一般在该可执行文件(源代码)所在的目录,文件名为carinfo,该文件也可能位于其他位置。

    展开全文
  • C++中setiosflags()的用法

    千次阅读 2015-04-05 21:37:28
    setiosflags 是包含在命名空间iomanip C++ 操作符,该操作符的作用是执行由有参数指定 区域内的动作; iso::fixed 是操作符setiosflags 的参数之一,该参数指定的动作是以带小数点的形式表示浮点 数,并且...
    cout<<setiosflags(ios::fixed)<<setiosflags(ios::right)<<setprecision(2);


    setiosflags 是包含在命名空间iomanip 中的C++ 操作符,该操作符的作用是执行由有参数指定


    区域内的动作;


    iso::fixed 是操作符setiosflags 的参数之一,该参数指定的动作是以带小数点的形式表示浮点


    数,并且在允许的精度范围内尽可能的把数字移向小数点右侧;


    iso::right 也是setiosflags 的参数,该参数的指定作用是在指定区域内右对齐输出;


    setprecision 也是包含在命名空间iomanip 中的C++ 操作符,该操作符的作用是设定浮点数;


    setprecision(2) 的意思就是小数点输出的精度,即是小数点右面的数字的个数为2。


    cout<<setiosflags(ios::fixed)<<setiosflags(ios::right)<<setprecision(2);


    合在一起的意思就是,输出一个右对齐的小数点后两位的浮点数。

    使用setprecision(n)可控制输出流显示浮点数的数字个数。C++默认的流输出数值有效位是6。
    如果setprecision(n)与setiosflags(ios::fixed)合用,可以控制小数点右边的数字个数。


    setiosflags(ios::fixed)是用定点方式表示实数

    ===================================


    补充:


    问:C++中的cout.setf()跟cout.precision()的作用是什么?


    答:


     这两个就是格式控制的~ostream成员函数里面的,也可以用输出流操作符来控制,都一样的~附给你一些看看~


    其中cout.setf跟setiosflags一样的,cout.precision跟setprecision一样~


    #include <iomanip> 
    这里面iomanip的作用比较多: 
    主要是对cin,cout之类的一些操纵运算子,比如setfill,setw,setbase,setprecision等等。它是I/O流控制头文 
    件,就像C里面的格式化输出一样.以下是一些常见的控制函数的: 
    dec 置基数为10 相当于"%d" 
    hex 置基数为16 相当于"%X" 
    oct 置基数为8 相当于"%o" 
    setfill(c) 设填充字符为c 
    setprecision(n) 设显示小数精度为n位 
    setw(n) 设域宽为n个字符 
    这个控制符的意思是保证输出宽度为n。如: 
    cout<<setw(3)<<1<<setw(3)<<10<<setw(3)<<100; 输出结果为 
    1 10100 (默认是右对齐)当输出长度大于3时(<<1000),setw(3)不起作用。 
    setioflags(ios::fixed) 固定的浮点显示 
    setioflags(ios::scientific) 指数表示 
    setiosflags(ios::left) 左对齐 
    setiosflags(ios::right) 右对齐 
    setiosflags(ios::skipws 忽略前导空白 
    setiosflags(ios::uppercase) 16进制数大写输出 
    setiosflags(ios::lowercase) 16进制小写输出 
    setiosflags(ios::showpoint) 强制显示小数点 
    setiosflags(ios::showpos) 强制显示符号 
    举例: 

    #include <iostream> 
    #include <iomanip> 
    using namespace std; 
    int main() 
    { 
      cout<<12345.0<<endl;    //输出"12345" 
      cout<<setiosflags(ios::fixed)<<setprecision(3)<<1.2345<<endl;    //输出"1.235" 
      cout<<setiosflags(ios::scientific)<<12345.0<<endl;    //输出"1.234500e+004 " 
      cout<<setprecision(3)<<12345.0<<endl;     //输出"1.235e+004 " 
      return 0; 
    }


    展开全文
  • C++之Point类

    万次阅读 2017-05-20 20:52:43
    考察知识点: 1.常量函数; { 规则: ...3.非常量成员函数不能被常量成员函数调用,但构造函数和析构函数除外。...(const对象的数据成员在对象寿命周期内不能改变,因此其只能调用常量成员函数) ...

    考察知识点:

    1.常量函数;

    {

    规则:
    1.常量成员函数不修改对象。
    2.常量成员函数在定义和声明中都应加const限定
    3.非常量成员函数不能被常量成员函数调用,但构造函数和析构函数除外。
    4.常量(const对象)对象只能调用常量成员函数。(const对象的数据成员在对象寿命周期内不能改变,因此其只能调用常量成员函数)

    }。

    2.类的构造函数,拷贝函数,析构函数的使用;

    3.静态成员的计数:注意--->静态成员对象只能用于静态成员函数,要想用于其他成员函数必须定义一个属性来时刻表示;

    4.对象地址作为函数返回值;


    Problem F: 平面上的点——Point类 (VI)

    Time Limit: 1 Sec  Memory Limit: 4 MB
    Submit: 5903  Solved: 2671

    Description

    在数学上,平面直角坐标系上的点用X轴和Y轴上的两个坐标值唯一确定。现在我们封装一个“Point类”来实现平面上的点的操作。

    根据“append.cc”,完成Point类的构造方法和接口描述中的方法和函数。

    接口描述:
    showPoint()函数:按输出格式输出Point对象。
    Point::show()方法:按输出格式输出Point对象。
    Point::showSumOfPoint()方法:按格式输出程序运行至当前存在过的Point对象总数。
    Point::x()方法:取x坐标。
    Point::y()方法:取y坐标。
    Point::x(double)方法:传参数设置x坐标并返回。
    Point::y(double)方法:传参数设置y坐标并返回。
    Point::setPoint(double,double)方法:设置Point对象的x坐标(第一个参数)和y坐标(第二个参数)并返回本对象。
    Point::isEqual()方法:判断传入的参数与对象的坐标是否相同,相同返回true。
    Point::copy()方法:传参数复制给对象。
    Point::inverse()方法,有两个版本:不传参数则将对象自身的x坐标和y坐标互换;若将Point对象做参数传入,则将传入对象的坐标交换复制给对象自身,不修改参数的值。

    Input

    输入多行,每行为一组坐标“x,y”,表示点的x坐标和y坐标,x和y的值都在double数据范围内。

    Output

    用ShowPoint()函数来输出(通过参数传入的)Point对象的值或坐标值:X坐标在前,Y坐标在后,Y坐标前面多输出一个空格。每个坐标的输出精度为最长16位。
    对每个Point对象,调用show()方法输出其值,输出格式与ShowPoint()函数略有不同:“Point[i] :”,i表示这是程序运行过程中第i个被创建的Point对象。
    调用showSumOfPoint()输出Point对象的计数统计,输出格式见sample。

    C语言的输入输出被禁用。

    Sample Input

    1,23,32,1

    Sample Output

    Point[3] : (1, 2)Point[1] : (2, 1)Point[4] : (3, 3)Point[1] : (3, 3)Point[5] : (1, 2)Point[1] : (1, 2)Point[2] : (0, 0)==========gorgeous separator==========Point[2] : (-7, 5)Point[3] : (1, 2)Point[4] : (3, 3)Point[5] : (1, 2)Point[6] : (-7, 5)==========gorgeous separator==========Point[63] : (3, 3)Point : (3, 3)Point : (3, 3)Point : (3, 3)In total : 64 points.


    答案:

    #include <iostream>
    #include <iomanip>
    using namespace std;
    class Point {
    private:
        double x_,y_;
        int id;
        static int sum,num;
    public:
        Point():x_(0),y_(0){num++;sum++;id = num;}
        Point(double a,double b):x_(a),y_(b){sum++;num++;id = num;}
        Point(const Point &q):x_(q.x_),y_(q.y_)
        {
            num++;
            sum++;
            id = num;
        }
        ~Point()
        {
            num--;
        }
        double x()const{return x_;}
        double y()const{return y_;}
        double x(const double &a){x_ = a;return x_;}
        double y(const double &a){y_ = a;return y_;}
        Point &setPoint(double a,double b)
        {
            x_ = a;
            y_ = b;
            return *this;
        }
        int isEqual(Point &q)const
        {
            if(x_ == q.x_ && y_ == q.y_)
                return 1;
            else
                return 0;
        }
        Point &copy(const Point &q)
        {
            x_ = q.x_;
            y_ = q.y_;
            return *this;
        }
        Point &inverse()
        {
            double t;
            t = x_;
            x_ = y_;
            y_ = t;
            return *this;
        }
        Point &inverse(Point &q)
        {
            double t;
            x_ = q.y_;
            y_ = q.x_;
            return *this;
        }
            void show()const;
        static void showCounter();
        static void showSumOfPoint();
    };
    void Point::show() const
    {
        cout<<setprecision(16)<<"Point["<<id<<"] : ("<<x_<<", "<<y_<<")"<<endl;
    }
    void Point::showCounter()
    {
        cout<<"Current : "<<num<<" points."<<endl;
    }
    void Point::showSumOfPoint()
    {
        cout<<"In total : "<<sum<<" points."<<endl;
    }
    int Point::num = 0;
    int Point::sum = 0;
    void ShowPoint(const Point &p)
    {
        cout<<std::setprecision(16)<<"Point : ("<<p.x()<<", "<<p.y()<<")"<<endl;
    }
    void ShowPoint(const double &x, const double &y)
    {
        //const Point p(x, y);
        cout<<std::setprecision(16)<<"Point : ("<<x<<", "<<y<<")"<<endl;
    }
    int main()
    {
        int l(0);
        char c;
        double a, b;
        Point p, q, pt[60];
        while(std::cin>>a>>c>>b)
        {
            if(a == b)
                p.copy(pt[l].setPoint(a, b));
            if(a > b)
                p.copy(pt[l].setPoint(a, b).inverse());
            if(a < b)
                p.inverse(pt[l].setPoint(a, b));
            if(a < 0)
                q.copy(p).inverse();
            if(b < 0)
                q.inverse(p).copy(pt[l]);
            pt[l++].show();
            p.show();
        }
        q.show();
        cout<<"==========gorgeous separator=========="<<endl;
        double x(0), y(0);
        for(int i = 0; i < l; i++)
            x += pt[i].x(), y -= pt[i].y();
        pt[l].x(y), pt[l].y(x);
        q.copy(pt[l]).show();
        for(int i = 0; i <= l; i++)
            pt[i].show();
        cout<<"==========gorgeous separator=========="<<endl;
        const Point const_point(3, 3);
        const_point.show();
        for(int i = 0; i <= l; i++)
        {
            if(const_point.isEqual(pt[i]))
            {
                ShowPoint(const_point);
                ShowPoint(const_point.x(), const_point.y());
                ShowPoint(Point(const_point.x(), const_point.y()));
            }
        }
        const_point.showSumOfPoint();
    }
    展开全文
  • C++ showpoint解析

    2020-06-03 14:56:57
    #include<... //showpoint 显示末尾小数点 cout << 3.1400 << endl; cout.setf(ios_base::showpoint); cout << 3.1400 << endl; cout << 3.1400 << endl; retu
    #include<iostream>
    #include<iomanip>
    using namespace std;
    
    int main() {
    	
    	//showpoint 显示末尾小数点
    	cout << 3.1400 << endl;
    	cout.setf(ios_base::showpoint);
    	cout << 3.1400 << endl;
    	cout << 3.1400 << endl;
    	return 0;
    }
    

    在这里插入图片描述
    小结:
    改变永久有效,直到下次被改变
    该操作符的作用是显示0使得显示更加优美

    展开全文
  • std::showpoint ios_base& showpoint (ios_base& str); Show decimal point Sets the showpoint format flag for the str stream. When the showpoint format flag is set, the decimal point is ...
  • 今天在写代码的时候发现了bug,而且是非常奇怪的bug。因为float的A 在cout以后显示的值明明是等于B的,可计算机判断二者却是A 纠结了半天也没弄明白,为了搞清楚这是怎么回事,问了同学以后大概知道是cout precision...
  • 原文:http://blog.csdn.net/u011321546/article/details/9293547 首先要加头文件:iomanip 一:setprecision ... 作用:控制输出流显示浮点数的数字个数,setprecision(n)就是输出的n个数,会有四舍五入。...cou
  • fixed //用一般的方式输出浮点型,例如C++程序在控制台显示大一点的数,显示的时候使用了科学计数法,使用该命令即可像一般的方式显示 cout.precision(2) //设置精确度为2,并返回上一次的设置。 cout.setf...
  • fixed //用一般的方式输出浮点型,例如C++程序在控制台显示的时候大一点的数,显示的时候使用了科学计数法,使用该命令即可像一般的方式显示cout.precision(2) //设置精确度为2,并返回上一次的设置。...
  • C++中cout的使用

    万次阅读 多人点赞 2018-11-08 21:56:30
    C++中cout的使用1. cout使用的三种方式2. cout和i/i++/++i的组合使用3. 以不同进制输出数字4. 输出数字位数的控制5. 强制显示小数点和正负号6. 设置宽度和对齐方式7. 设置填充字符8. iomanip库用法总结 cout 是C++...
  • 首先要说的是以上函数皆需要使用头文件&lt;iomanip&gt;。 1.setw()是一个专门设置域宽的函数。值得注意的是它是右对齐,如果不够位数的话会在左边补空格。 double a=123.456789;...lt...
  • c++中输出浮点数

    千次阅读 2017-01-25 10:34:51
    flat a = 1; flat b = 3; cout cout ANSI C++里一个浮点型若是小数部分为0,直接输出必然是不带小数点的,例如float b=3;你若想输出3.0,输出代码要这样写:cout
  • 深入理解C++输入输出流

    万次阅读 2016-01-19 23:36:06
    因为C++兼容C,所以C的输入输出函数依然可以在C++中使用,但是很显然如果直接把C的那套输入输出搬到C++中肯定无法满足C++的需求,第一点也是最重要的一点那就是C的输入输出有类型要求,只支持基本类型,很显然这...
  • C++中写C代码

    千次阅读 2018-08-27 16:23:44
    #include &amp;lt;iostream&amp;gt; #include &amp;lt;stdio.h&amp;gt; #include &quot;For.c&quot; #ifdef __cplusplus extern &quot;C&quot; { // 告诉编译器下列代码要以C链接...
  • C++中的输出条件设置

    2020-06-07 23:15:53
    C++中的输出关键词和C语言略有不同,C++中的输出关键词为“cout”,而且其控制条件也略有不同。 换行。C语言的换行是“\n”,此换行符在C++中也适用,C++中还提供了另一种换行符——endl;例如: #include...
  • C++库常用函数一览

    2015-10-21 01:06:47
    本文提到的函数库有: 1. 标准C++库字符串类std::string的用法 begin 得到指向字符串开头的Iterator end 得到指向字符串结尾的Iterator rbegin 得到指向反向字符串开头的Iterator rend 得到指向...
  • //此语句作用为保存小数点后三位C++中有关精度控制的三个函数(setprecision、fixed、showpoint)的用法总结cout&lt;&lt;setiosflags(ios∷fixed)&lt;&lt;setprecision(4);其...
  • C++中setiosflags()

    2020-08-19 20:19:54
    setiosflags 是包含在命名空间iomanip C++ 操作符,该操作符的作用是执行由有参数指定 区域内的动作; iso::fixed 是操作符setiosflags 的参数之一,该参数指定的动作是以带小数点的形式表示浮点 数,并且在允许...
  • C++中的虚函数重载

    千次阅读 2017-02-27 19:23:48
    在一次修改代码过程踩的坑,下来研究了一下,发现C++中虚函数重载后会产生很多有意思的情况,在这里总结了一下。 C++中有重载(overload)和重写(override)以及重定义这几个概念,1 overload:指的是相同作用域...
  • C++中数字格式的设置

    2015-04-23 09:54:31
    C++中把数据的I/O称为数据流,并提供了强大的“流”处理功能,以控制数据从一个位置流向另外一个位置。相对于内存,当数据从内存流向屏幕、打印机或硬盘时称为输出;当数据从键盘、硬盘流向内存时称为输入。C++用...
1 2 3 4 5 ... 20
收藏数 2,112
精华内容 844
热门标签
关键字:

c++中的showpoint