如何在文件中写入双精度值,而不知道其流的精度
How to write a double value in a file, without knowing its precision ofstream
我正在学习c++。我不明白如何在文件中写入长双精度值。我不知道小数点值的数量,所以我认为我不能使用设置精度。你能给我看一些提示吗?
因为这个主题对我来说是理解基本 c++ 的一种方式,所以我应该只使用 iostream
和fstream
.
我不明白为什么流决定截断我的号码
long double number=0.12345678987654321012345678987654321012 ..etc;
ofstream myfile("name.txt", ios::binary);
myfile << number ;
它只写 0.1234
到目前为止我尝试过的事情:
myfile << number ;
和
char *conversion = reinterpret_cast<char *>(&number );
myfile << *(reinterpret_cast<double *>(conversion));
myfile .close();
和
myfile.write((char *)&resultat, sizeof(long double)) ;
解决方案可以基于数字限制。您将数据存储在double
中,因此请使用其数字限制。
myfile << std::setprecision(std::numeric_limits<double>::digits10 + 2) << number
相关文章:
- 努力将整数转换为链表。不知道我在这里做错了什么
- 我正在使用嵌套的while循环来解析具有多行的文本文件,但由于某种原因,它只通过第一行,我不知道为什么
- 这个指针和内存代码打印是什么?我不知道是打印垃圾还是如何打印我需要的值
- 叮当不知道PTRDIFF_MAX?
- 如何在不知道向量大小的情况下输入向量内部的向量?
- 我正在尝试使用 c++ 创建一个货币转换程序,我不知道如何继续
- 不知道某个东西是否被忽略会引入未定义的行为吗
- 如何在C++中读取空格分隔的输入 当我们不知道输入的数量时
- 我不知道这条线是做什么的
- 如何在不知道C++中有多少可选参数的情况下在循环中使用va_arg?
- 在不知道套接字的情况下关闭网络连接
- 如果我不知道每个列表中有多少个数字,我如何将给定数量的数字列表作为输入?
- 我不知道导致错误的原因 (C3074)
- 我不知道为什么这段代码会让核心被转储?
- 我正在尝试制作一个自平衡机器人,但编译时存在错误。我不知道如何解决它
- 循环通过网格获取温度,但不知道如何告诉程序停止循环
- 如何在不知道对应关系的情况下在字符串中搜索字符并将其分配给另一个字符?
- 反转字符串.不知道为什么这个逻辑是错误的.C++
- 不知道如何在家庭作业任务中实现一件事
- 如何在文件中写入双精度值,而不知道其流的精度