+ -
当前位置:首页 → 问答吧 → C++中定义A,B分别为float 和double型时,输出错误

C++中定义A,B分别为float 和double型时,输出错误

时间:2011-12-23

来源:互联网

C/C++ code

#include <iostream>
#include <iomanip>
using namespace std;

int main(void)
{
    float a=12.3456789012345;
    cout<<a<<"\n";//看看输出为什么
    cout<<setprecision(15)<<a<<"\n";//看看输出了什么
    /*
    //setprecision() 用来控制输出精度 
        //在iomanip中定义
        
    */
    

    double b;  //X
        b = 12.345678901234;
    cout<<<<b"\n";
    cout<<setprecision(15)<<b<<"\n"; //Y

    return 0;
}


编译不通过:
浮点型变量.cpp(11) : warning C4305: 'initializing' : truncation from 'const double' to 'float'

若是将x到y行 注释掉, 则无错误提示 。

作者: YOYOV51234   发布时间: 2011-12-23

呃, 我是发现了 这个是warning ,其实错误在
这里
cout<<<<b"\n";

作者: YOYOV51234   发布时间: 2011-12-23

C/C++ code
int main(void)
{
    float a=12.3456789012345f; // 后面加个f
    cout<<a<<"\n";
    cout<<setprecision(15)<<a<<"\n";

    double b;
        b = 12.345678901234;
    cout<<b <<"\n"; // 笔误?
    cout<<setprecision(15)<<b<<"\n";

    return 0;
}

作者: yisikaipu   发布时间: 2011-12-23

该回复于2011-12-23 11:46:14被管理员删除

  • 对我有用[0]
  • 丢个板砖[0]
  • 引用
  • 举报
  • 管理
  • TOP
#4楼 得分:0回复于:2011-12-23 11:53:03
楼上说的对,另外float类型的有效位数为7位。

作者: lelewei   发布时间: 2011-12-23