1

私は、人の長さと体重を処理し、これらをデータベースに保存する国際的なアプリケーションを持っています。ユーザーがアプリケーションでセンチメートル/インチの使用を切り替えることができる場合に、これにどのように対処するのか疑問に思いました。

データベースでは常にセンチメートルを使用し、ユーザーがインチを使用することを選択した場合はインチに変換することを考えていました。ただし、もちろん、ユーザーが長さをインチで入力し、それをセンチメートルに変換して保存すると、丸め誤差のために値がわずかに変化する場合があります。

このシナリオをどのように処理しますか?

ありがとう、L

4

7 に答える 7

2

あなたの質問では、入手可能な情報以外にも考慮すべきことがたくさんあります。情報を保存および変換する方法を決定する前に、許容できるエラーが何であるかを知っておく必要があります。たとえば、入ってくるミサイルを別のミサイルで迎撃するための弾道を計算している場合、成功するには非常に細かい精度が必要です。これが医療用途であり、製剤を正確に制御するために使用されている場合は、単にBMIを計算している場合よりも正確であることが重要になる可能性があります。

要するに、メートル法かその他かを問わず、標準を選択し、ストレージタイプに合わせてそれを維持します。必要な精度に応じて、必要な精度を提供する測定システムの最小単位を選択してください。異なる測定システムの単位のすべての表示は、この基本測定から変換されます。

そして、ソリューションを過剰に設計しないようにしてください。小数点以下52桁までを測定することがおそらく重要ではない場合は、そのシナリオを説明するために労力を浪費し、不必要な複雑さを注入しています。

于 2011-05-18T15:48:08.150 に答える
1

個人的には、2つの方法のいずれかを使用します。

  1. 常に同じ測定単位で保管してください
  2. 単位がCMかインチかがわかるように、測定単位を別のフィールドに保存します。

処理が簡単になるため、最初の方法をお勧めします。

于 2011-05-18T15:38:30.973 に答える
1

したがって、インチからセンチメートルに変換する場合、およびセンチメートルからインチに変換する場合は、丸め誤差が発生します。DBに何を格納しても、問題は同じです。

値をデータベースにセンチメートルではなくミリメートルで保存できる可能性があります。ですから、変換の場合でも、単位がどれほど小さいか、より正確になると思います。

于 2011-05-18T15:44:01.917 に答える
1

同じユーザーがフロントエンドで切り替えることができる必要がある場合は、丸め誤差が発生するため、決定した1つの単位に値を表す1つのフィールドを確実に格納する必要があります。

インチのみを扱うユーザーのグループとcmのみを扱うユーザーのグループがあり、これらのグループのそれぞれに1つのデータベースまたは少なくとも「独自の値」がある場合は、値/単位の2つのフィールドを決定します(たとえば、同じソフトウェア、異なる顧客さまざまな国でのインストール)

たとえばマイクロメートルを表す非浮動小数点値を格納します(符号なし32ビットを使用すると、4.2kmから0.001mmまでのすべてを表すことができます)。

于 2011-05-18T15:54:20.897 に答える
0

コンバージョン率を保存していない限り、なぜデータベースが必要になるのかわからない

メートル法やインペリアル法は単なる数字であるため、それらを切り離す方法はありません。

丸め誤差は、表示したい精度に応じて発生します。

于 2011-05-18T15:36:24.987 に答える
0

これらの値で何をするか(DBレイヤーで多くの集計を行う必要があるかどうかなど)に応じて、累積丸め誤差がないことを確認する最善の方法は、元の測定単位に保存することです。その測定単位(id)は別の列にあり、比較、集計などの際にオンザフライ計算に使用する別の変換テーブルがあります。

ただし、これは非常に効率的でも便利でもありません。保存されている値を使用して作業を行う前に、常に変換テーブルに参加する必要があります。

于 2011-05-18T15:40:26.923 に答える
0

タスクは非常に簡単に実行できます。インチをcmに変換するための係数と、DBに保存しなかったすべての計算と結果しかありません。比率の数値を乗算または除算することしかできず、結果が得られます。したがって、cmがある場合は、比率を乗算して結果を得る必要があります。2分で見つけた例でそれがどのように機能するかを見ることができます:http://inchpro.com/metric-system/convert-inches-to-centimeters データベースにすべての値を格納することは多くを占めることを知っていると思いますスペースの。

于 2016-08-12T21:32:47.860 に答える