2016-08-03 30 views
0

小数点以下6桁の2つの浮動小数点数があります。私たちはそれらを分割し、結果をWebページに表示します。私たちはまた、私たちがウェブページ上で分割に使用した2つの数字を示しています。これらの2つの数字は非常に長く(小数点以下6桁で)、完全な数字を表示するのはユーザーの利便性が低いと考えました。そこで私たちは、これらの数字を小数点以下2桁までしか表示しないことにしました。しかし、これはユーザーが2つの数字を分割し、結果が異なる(完全な数字を使用して計算されたものと一致する)ようにしようとするとユーザーにとって混乱を招きます。小数点以下2桁の浮動小数点数と小数点以下6桁の同じ浮動小数点数を比較する

例 - 2つの数値:0.289045と0.017457があるとします。これらの数値を分割すると、結果は16.56となり、ユーザーには0.28と0.01の2つの数値が表示されます。現在0.28と0.01を分けようとしているユーザーとその結果は28で、私たちが表示しているものと一致しません。

私たちは28(それは0.28と0.01で割る)が正しいアプローチであると考えているかもしれません。しかしこれは0.289045と0.001745のような数字に対しては機能しません。ここで、0.28を0.00で除算しても結果は得られません。常にユーザーに肯定的な結果を示したいと考えています。

私はこの問題に取り組むための正しいアプローチを考えることができません。何が正しい方法でしょうか?

+1

あなたはどのような言語を使用していますか?あなたが使っているコードは何ですか? – Wajahat

+0

あなたはどの言語を使用していますか?私はjavascriptに小数点以下のいくつかの制限があることを知っています。おそらく固定小数点を扱うときは、整数を使って数学演算を行うための10進数に数値を掛けるべきです。 (もちろん、丸めなしの無限浮動小数点数の場合は動作しません。1/3 = 0.333333 ....) –

+0

私はPHPを使用しています。 – sagun

答えて

0

固定小数点数ではなく、2桁または3桁の有効数字をすべて表示できます。

0.28/0.017 = 16 

または

0.289/0.0174 = 16.6 
+0

これは1つのアプローチです。しかし、その数字が0.289045と0.000175のようなものならば。私たちは0.00017を表示することになります。これは完全な数字を表示するのとほぼ同じです。 – sagun

+0

もう1つの方法は、科学的表記法に切り替えることです。 0.17 * 10^-3は見た目が少し乱雑ですが、少なくとも文字列が常に同じ長さであることを保証するのは簡単です – James

関連する問題