sql server 如何将小数变成分数。请各位高手赐教,小弟不胜感激。在线等答案。

兄弟姐妹们,请问下,sql server 如何将小数变成分数。请各位高手赐教,小弟不胜感激。在线等答案。
最新回答
吧唧妳壹口

2024-10-14 06:26:07

这个比较难做,建议用java或C读取数据库中小数后再转换写回:方法是先按小数位数进行固定格式转换再化简,比如0.784,写成784/1000,实际上就是两个数784和1000,求它们的最大公约数为8,化简得到98/125写回。
值得注意的是数据库不支持98/125这种数据吧,所以字段必须是字符型的。另外如果原来的小数是浮点型则在计算机中表示有截断误差,可能难以判断小数位数,所以也需要是字符型,这样读取数据有一个将ASCII数字转换成实际数字的工作。
哥寂寞与世无争

2024-10-14 07:44:47

不知道这种方法是否可行,你可以验证一下啊。例如0.25则可以获取到25和100两个数,把这两个数循环除2,3,5,7如果两个除相同的数时都可以整除,则除这个数,例如5/20,再进行循环1/4。就这样,如果有大数那样你就从小数开始减一相除获得吧。这样是可行的。
雨不眠的下

2024-10-14 07:28:32

分母确定否?如果是%倒有。如果是任意的,有些难。
追问
不确定。0.4就写成2/5        0.75就写成3/4。
不知您有办法没?
追答
这个有问题吧。0.44是什么?都化成整数然后除10的因子(2和5)?不知道自动的有没有?有什么意义?看是否从其他方面帮你。
追问
重新想过后,提问的确有问题。谢谢你的回答。
我在想其他办法吧。