这个比较难做,建议用java或C读取数据库中小数后再转换写回:方法是先按小数位数进行固定格式转换再化简,比如0.784,写成784/1000,实际上就是两个数784和1000,求它们的最大公约数为8,化简得到98/125写回。值得注意的是数据库不支持98/125这种数据吧,所以字段必须是字符型的。另外如果原来的小数是浮点型则在计算机中表示有截断误差,可能难以判断小数位数,所以也需要是字符型,这样读取数据有一个将ASCII数字转换成实际数字的工作。
不知道这种方法是否可行,你可以验证一下啊。例如0.25则可以获取到25和100两个数,把这两个数循环除2,3,5,7如果两个除相同的数时都可以整除,则除这个数,例如5/20,再进行循环1/4。就这样,如果有大数那样你就从小数开始减一相除获得吧。这样是可行的。
分母确定否?如果是%倒有。如果是任意的,有些难。 追问 不确定。0.4就写成2/5 0.75就写成3/4。不知您有办法没? 追答 这个有问题吧。0.44是什么?都化成整数然后除10的因子(2和5)?不知道自动的有没有?有什么意义?看是否从其他方面帮你。 追问 重新想过后,提问的确有问题。谢谢你的回答。我在想其他办法吧。