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それらの値を表すために使用しました。最初の例に似た形式で印刷されないのはなぜですか?

4

2 に答える 2

1

あなたはできる?そうですね、すべての浮動小数点計算に固有の不正確さを抱えて生きることができれば、そうです。

もちろん、問題の原因が四捨五入によるものなのか、プログラムのエラーによるものなのか、あるいはそもそも問題があるのか​​どうかを判断するための詳細は、質問には十分ではありません。

于 2011-03-03T14:19:17.677 に答える
0

値を印刷する方法を見てください。おそらく値はまだ問題ありませんが、出力メカニズムによって精度が制限されます。

于 2011-03-03T14:22:29.173 に答える