【问题标题】:Why aren't my "double" values printed the way I expected them? [closed]为什么我的“双”值没有按我预期的方式打印? [关闭]
【发布时间】:2011-07-08 02:26:05
【问题描述】:

我可以使用变量类型“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 output-formatting


【解决方案1】:

看看你是如何打印这些值的,可能这些值仍然很好,但你的输出机制限制了精度。

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2023-04-06
      • 1970-01-01
      • 2017-05-17
      • 2011-08-18
      • 2018-04-30
      • 1970-01-01
      • 1970-01-01
      • 2020-02-29
      • 2021-04-15
      相关资源
      最近更新 更多