跳到主要内容

cout与保留小数

· 阅读需 1 分钟

对于coutcout操作,由于编译器内部的某些神神奇奇的调整,会导致双精度浮点数数doubledouble精度失真,具体表现为自动保留部分有效数字而舍弃后面的导致答案错误

解决这个问题有两种方法,一是改用printfprintf,二是增加函数,具体如下

cout<<fixed<<setprecision( 8 )<<x;
//fixed声明后面的函数的生效域为小数点后
//setprecision( n )能保留n位有效数字