Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我试图弄清楚如何存储 1/3 或任何导致 MySQL 中无限重复十进制值的分数。我不能只使用 3.333333,因为它显然不等于 100。我一直在阅读有关 float 数据类型的信息,但我不确定这是否可行。任何帮助,将不胜感激。
谢谢
您可以将所有有理数(包括整数)表示为“分子”和“分母”。因此,在您的表格中,您将有一个分子和分母列,并且您的应用程序将具有使用该表格存储数字的逻辑。
您仍然无法使用这种技术精确地存储无理数(即,如果您想存储 Pi,无论如何您都需要一个分数近似值)。
请参阅此处了解什么是有理数,以便您了解此技术的局限性。
http://en.wikipedia.org/wiki/Rational_number
将分子和分母存储在不同的列中。真的就是这么简单。当您想要将所有分数相加时,真正的问题会出现。有些语言有这样做的内置工具,但我认为 MySQL 没有。