java-精确找到黄金比例直到小数点后20位

黄金比率是一种特殊比率,可与生物体各部分的不同尺寸之间的比率相关.

在数学上,可以通过以下公式找到它:
(1平方根(5))/ 2)

通过使用任何一种数据类型,我都无法存储这样的值. double是最好的,但是我不能用它获得20个小数位.

因此,我想,如果我可以在计算出比率后找到比率的最后几位,然后将其存储在某个变量中,然后继续进行操作.最后,我可以通过将小数位一个接一个地添加来完成它.

例如:从1.61083,我将提取3,0,8,0,1,6并将其加入.

我仍然遇到问题,因为即使在计算期间它也没有使用如此精确的变量.

有人可以帮忙吗?

解决方法:

java.math.BigDecimal是您要走的路

BigDecimal.ONE.add(new BigDecimal(Math.sqrt(5))).divide(new BigDecimal(2))

代表您发布的公式,并将返回1.6180339887498949025257388711906969547271728515625

也就是说,直到49位小数

上一篇:mysql sum显示十进制类型的错误答案


下一篇:我的平方根和多维数据集打印后,似乎无法摆脱小数点?