我们需要将可能类似于3.33333000540733337的计算值转换为3 1/3。我试过的任何库如https://github.com/peterolson/BigRational.js都会将其转换为最准确的有理数,而我只关心近似有理数,重要的小数.01。将浮点数转换为javascript中的近似分数
在ruby中,我们目前使用Rational(1.333).rationalize(Rational(0.01)),它给出了1作为整数,1作为分子,3作为分母。
对算法的任何想法可能会有所帮助。
[ “如何浮子转换为人类可读的级分?”](HTTP:// stackoverflow.com/questions/95727/how-to-convert-floats-to-human-readable-fractions)和s特别是[这个面向JavaScript的答案](http://stackoverflow.com/a/681534/1934901) – tehsockz
请记住,将'3.33333000540733337'转换为有理数“.01重要小数”将产生'3 33/100 ',而不是'3 1/3'。 –
Peter yep,我们真的需要一个减少的近似分数。 – dstarh