黄金比例是一种特殊的比例,与生物体各部分不同尺寸之间的比例有关。
在数学上,可以通过以下公式找到:
(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位
关于java - 精确到小数点后 20 位的黄金比例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21549551/