long double m;
cout << "enter double: "; cin >> m;
cout << "m = " << m <<endl;
Run Code Online (Sandbox Code Playgroud)
输入:
输入double:1.546640625
输出:
m = 1.54664
我必须转换成带有点的二进制文件,当我读取像2.359375000这样的数字时
输出:
m = 2.35938
它有效,但我认为问题是1.546640625中的零
izo*_*ica 12
你已经阅读了double的全部价值.问题出在cout上.默认情况下,它将值舍入为小数点后的6位数.
要设置精度COUT用途,使用setprecision从<iomanip>:
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
long double d;
cin >> d;
cout << setprecision(10) << d << endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)