我试图找出如何存储1/3,或者在MySQL中导致无限重复十进制值的任何分数。我不能只使用3.333333,因为它显然不会总计为100.我一直在阅读有关float数据类型但我不确定这是否可行。任何帮助将不胜感激。
谢谢
答案 0 :(得分:10)
您可以将所有有理数(包括整数)表示为“分子”和“分母”。所以在你的表中你有一个分子和分母列,你的应用程序将有逻辑来使用该表单存储数字。
您仍然无法使用此技术精确存储无理数(即如果您想存储Pi,则无论如何都需要小数近似值。)
请参阅此处了解有效数字,以便了解此技术的局限性。
答案 1 :(得分:7)
将分子和分母存储在不同的列中。这真的很简单。当你想要添加所有分数时,真正的问题会出现。有些语言有内置功能,但我不认为MySQL会这样做。