我本以为很多人都需要这样做,但是我似乎找不到任何在Go中完成过工作的软件包或repos /操场示例。
目标是转换字符串/浮点数,以便1.20
(输入)成为1/5
(输出),1.29 becomes 2/7
和2.38 becomes 11/8
等。
最佳答案
从http://mybettingsites.co.uk/bet-calculator/odds-converter/#conversiontable
如何将小数几率转换为小数
有两个步骤将小数赔率转换为分数。
步骤1)通过减去1,并使用1作为分母,将小数赔率转换为分数。
例如:3.40 – 1 = 2.40。这将产生2.40 / 1的小数赔率。
尽管这是一个非常好的分数,但博彩公司从不使用带小数点的数字。这就是为什么我们需要第二步。
步骤2)现在,我们需要将此分数转换为最简单的形式。查找最接近的整数(即无小数位)。分母反映了将分子乘以整个整数所需要的因数。
示例:您需要将2.40乘以5才能将其四舍五入为12。因此,小数变为12/5。 (2.40 x 2 = 4.80, 2.40 x 3 = 7.20, 2.40 * 4 = 9.60, 2.40 * 5 = 12)
通过将顶部和底部乘以100,再除以HCF / LCD,可以实现最后一步。可以使用我的其他答案找到该答案,前提是您先弄清楚这是关于博彩,而不是一般分数