c++ - 为什么我的 "double"值没有按我预期的方式打印?

标签 c++ double output-formatting

<分区>

我可以使用变量类型“double”表示以下坐标三元组吗?

512685.93 5403444.22 305.63, 
512685.91 5403445.72 305.55,
512685.90 5403447.12 305.54, ... 

这些值对应于我输入文件中的 x、y 和 z。在我的程序做了一些处理之后,我得到了具有以下值的输出文件:

512668 5.40345e+006 321.39, 
512667 5.40345e+006 321.57, 
512666 5.40345e+006 321.89, 
512666 5.40344e+006 321.32, 
512665 5.40344e+006 321.64, ...

我使用 double x, y, z 来表示这些值。为什么不使用与第一个示例更相似的格式打印它们?

最佳答案

可以吗?嗯,是的,如果你能忍受所有浮点计算中固有的不精确性。

当然,您的问题中没有足够的细节来确定您的问题是由于四舍五入,还是由于程序中的某些错误,或者即使一开始就存在问题!

关于c++ - 为什么我的 "double"值没有按我预期的方式打印?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5181874/

相关文章:

c++ - 连接 C++ 和 Go

java - 使用 JSON-Simple (Java) 解析 JSON 数据中的小数,其中一些缺少小数分隔符

java - 如何在 Java ME 中将 double 转换为字符串

python - 从单元测试输出中过滤掉异常消息

c - C 中将正值四舍五入到小数点后 2 位

c++ - 扩展嵌套类方法

C++ 运算符重载 - uni 测验答案看起来错误?

c++ - 无锁双向链表的原子操作

android - 如何在 Android 中将 double 转换为 int?