Tag: 精确

float和double数据类型是否可以存储纬度和经度?

我在服务器端存储经度和纬度(JAVA平台)。 要存储这些值,我在服务器端使用float和double数据类型。 我开始知道float和double不是推荐的原始数据类型(不建议以专业方式使用货币),因为float和double有舍入精度问题 。 在我的例子中,我只是比较服务器端存储的坐标(lattitude和longitude)。 问题1: 将坐标与数据类型(浮点数或双精度数)进行比较将来会出现什么问题? 问题2 : 使用大小数好吗? 或者使用浮点数或双倍更安全? 请指导我。

生成pi到第n位java

我想知道如何生成pi到第n位。 我有几个基本想法。 使用Math.PI并提高精度(如果可能的话) 使用欧拉的公式来生成pi,但即使在这里,我也需要提高精度(我认为) 还有Srinivasa Ramanujan用于生成PI的公式,该公式因其快速收敛而闻名。 这个公式似乎很难实现。 我相信,我还必须提高这里的精确度。 所以简而言之,无论哪种方式,我都需要根据第n位数增加BigDecimal的精度。 我如何将BigDecimal的精度提高到第n位? 另外,如果有更好更快的做法,请指点我正确的方向。 编辑:我只是想生成PI。 我不想用于计算。 这是一个关于如何使用BigDecimal来实现我生成PI的想法的问题。

Java BigDecimal三角法

我正在开发一个数学解析器,它能够像’5+b*sqrt(c^2)’一样评估字符串。 我正在使用ANTLR进行解析并取得良好进展。 现在我摔倒了Java类BigDecimal并且想:嘿,为什么不在这里考虑精度。 我的问题是Java API没有为java.lang.Math等BigDecimal提供三角函数方法。 你知道是否有像Apache Commons这样的好的数学库可以解决这个问题吗? 其他问题是如何实现幂方法,以便我可以用BigDecimal s计算4.9 ^ 1.4。 这可能吗? 关于数值计算的书籍请求也受到赞赏。