2011-03-03 70 views
0

我可以使用变量类型“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表示这些值。为什么他们不打印与第一个例子更类似的格式?

+0

这不是一个真正的问题。很难理解这个问题实际上是什么,或者问题是什么,或者几乎任何东西。没有合理的方式来形成答案。 – Puppy 2011-03-03 14:19:20

回答

0

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

1

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

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

相关问题