2012-02-21 6 views
2

1/3、またはMySQLで無限に繰り返す小数点以下の値を格納する方法を理解しようとしています。私は明らかに3.333333を使用することはできません。なぜなら、明らかに100に達していないからです。私はfloatデータ型について読んでいますが、これがうまくいくかどうかはわかりません。どんな助けもありがとう。1/13を小数点としてMySQLに格納する方法

ありがとうございました

+1

は、このような部分を格納するためのデフォルトの方法があります。浮動小数点整数は、どれくらい長くても100までは絶対に加算されませんが、コードを抜き取った後は、コードに最も近い完全な数値に常に丸めることができます。それは本当にしかし、これらの分数で何をしているかにもよるが。 – BenOfTheNorth

+0

これは愚かな質問かもしれませんが、達成しようとしているのは何ですか? –

+0

私は資産の所有権を計算するアプリを書いています。たとえば、資産が3人で共有されている場合は、割合(20%、20%、60%)または割合(1/3、1/3、1/3)でダイビングするオプションを指定します。私のテーブルは小数しか受け付けないので、資産を3、6、または10進数で表現できないもので均等に分割したい場合は、その資産をどのように記録するかわかりません。 – Progger

答えて

7

分子と分母を別々の列に格納します。それは本当に簡単です。実際の問題は、後ですべての分数を加算したいときに発生します。いくつかの言語には組み込みの機能がありますが、MySQLはそうは思いません。

10

あなたは潜在的に「分子」および「分母」として(整数を含む)すべての有理数を表すことができます。あなたのテーブルには分子と分母の列があり、そのフォームを使用して数値を格納するロジックがアプリケーションにあります。

あなたはまだ(あなたはパイを格納する場合、すなわち、あなたはとにかく分数の近似値を必要とするだろう)この技術と正確に無理数を保存することができないであろう。

があるので、あなたがこの技術の限界を理解することができます合理的なものを数値についてはこちらを参照してください。当然のプレーンテキスト以外の - 私は考えていない

http://en.wikipedia.org/wiki/Rational_number

+0

ええ、ちょうどそれを22/7として保存してください。十分に右に近い –

+0

恐ろしい、104348/33215こちらを参照してください。 http://mathworld.wolfram.com/PiApproximations.html – Roadmaster

関連する問題