- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我用 Java 编写了一个小程序来计算 Pi。
我的求和当前输入为double
。
我有两个输出,一个是保留 16 位小数的 Pi(原始输出)。第二个输出使用 NumberFormat
/DecimalFormat
四舍五入到 3-5 位小数。
我花了一些时间谷歌搜索和浏览 Stackoverflow,但作为一个初学者,我不确定找到我正在寻找的正确方法可能需要任何关键字
,所以请原谅我的天真......
是否可以计算出小数点后 16 位以上的答案(即 Pi)?说,32?如果是这样,我该如何处理这个问题?
我看过BigDecimal
,但是我不认为这就是我想要的,因为我见过的所有示例都首先预先定义了具有大量小数位数的数字,而不是通过计算,但我可能是错的。
据我所知,double
是 64 位类型,因此不会超过 16 位小数。我也理解使用 long
作为类型会失去精度......
任何建议或指导将不胜感激。
谢谢。
更新
不幸的是,我使用 BigDecimals 仍然没有得到超过 16 位小数...我的方向正确吗?
再次更新
我刚刚意识到我认为我的问题在于我的划分过程中的规模
。我将其更改为 100,现在我将 Pi 精确到小数点后 100 位...我认为 scale
参数允许更高的精度等。它需要 divide(BigDecimal divisor, int scale, int roundingMode)
方法。请参阅 Java 文档 >> here <<
利用 Madhava-Leibniz 级数中的 500,000 个项,我现在可以将 Pi 计算到小数点后 10,000 位,并具有 6 个“正确”有效数字。其余的仍在收敛(显然需要 1000 多项才能获得更准确的 Pi 表示)。但对于我们大多数人需要 Pi 的目的来说,这很好。
感谢大家的帮助。
最佳答案
使用 BigDecimal 是解决这个问题的好方法。没有其他标准类型无法为您处理这种精度。另一种方法是实现您自己的数据结构。但我敢打赌,BigDecimal 会好得多。
查看 BigDecimal 的 Javadoc ( http://docs.oracle.com/javase/1.5.0/docs/api/java/math/BigDecimal.html )使用标准类型和 BigDecimal 类型之间的主要区别是不能使用 +、- 等运算符,但需要使用 add()、divide() 等方法。
关于java - 用Java计算小数点后16位以上的答案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51207623/
(function() { main(); function main() { jQuery(document).ready(function($) {
所以我必须为我们的类(class)软件设计制作一个 GUI,我们正在为 children 制作一个游戏来练习乘法表。到目前为止,当您执行一次测试或练习时它工作正常,但是当您进行第二次运行时,它会出错。
我刚开始学习 python,想做一些琐事。基本上,我想从列表中随机询问一个问题,然后使用“输入”运算符来判断用户输入的 Y/N 是否正确。我坚持确定如何检查它是否正确。也许我的(不正确的)代码可以更好
我目前正在做一个暑期实习项目,我必须制作一个不经意的 DNS 翻译服务器。我不会在这里详细讨论被忽视的部分,但我会解释我的程序的架构。 有一个服务器端接收混淆的请求并发回一个它自己无法理解的答案。 在
我想用ajax请求翻译单词到谷歌翻译 如果我使用 curl,它会像: curl_init("http://translate.google.com/translate_a/t?client=t&tex
这是我运行dig www.google.com时的答案部分: ;; ANSWER SECTION: www.google.com. 108 IN A 74
我在ES上有以下简单数据: curl -XPUT localhost:9200/dt/art/1 -d '{ "age": 77 }' curl -XPUT localhost:9200/dt/art
我从编码开始,我有一个多维数组的示例。但它没有给出预期的答案。 我只得到“C”,我期待“JohnnyCash:Live at Folsom Prison”。出了什么问题? var music = []
我们有一个应用程序与 Crashlytic 和 Answers 配合得很好。我们需要为这个应用程序做一个不同的风格。因此,我们的 Gradle 编译工作正常,并为两个不同的品牌制作了两个不同的 APK
我正在尝试从数据库获取歌曲列表。 我在查询行中发送一个 ID 数组(永久链接),并且我希望返回值的顺序与我在数组中给出的顺序相同。有没有办法做到这一点? function getByPermalink
我有一个表单可以输入这样的值 test 有没有办法用jquery改变输入类型 我基本上想把这个添加到输入类型中 data-slider="true" data-sl
好吧,我距离数学高手还很远。哎呀,我记住了足够多的高中代数,可以拼凑出任何有效的公式,这对我来说是一个胜利。因此,如果您注意到这里有一个不必要的长或令人困惑的公式,那就可以解释了。 但是,正如人们可以
所以我的问题有点令人困惑,但仍然如此。我从外部源获取一个由 8 个字符串组成的数组,其中所有字符串都包含 double 值。这些值通常为小数点后 4 位: 12345.5678 我想做的是将其转换为小
我成功地构建了一个函数来提示用户提出问题,然后是随机排列的答案选项。但是,由于答案选择现在是随机的,python 如何识别用户输入(数字:1、2、3 或 4)以获得“正确”答案? import ran
我正在尝试使用蛮力来回答这个问题,这样我就可以理解发生了什么: https://www.interviewcake.com/question/java/product-of-other-numbers
尝试使用刚刚宣布的 Answers OSX平台框架: pod 'Fabric' pod 'Answers' pod 'Crashlytics' #import #import #import [
在我添加的页面上检索忘记的用户名 步骤 1) 输入电子邮件地址(通过电子邮件获取帐户) 第 2 步)验证安全问题(他们提供答案,我对其进行验证) 第 3 步)向他们发送带有用户名的电子邮件 第 2 步
已关闭。这个问题是 off-topic 。目前不接受答案。 想要改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 已关闭10 年前。 Improve th
在我的测试中,我需要模拟一种情况,当使用实体管理器(em)将新对象保存到数据库中时,在此过程中,该对象的id属性设置为数据库中该行的自动递增ID。我想将该id属性设置为我自己的值,以便稍后在测试中进行
我有这个代码。调用askToContinue() 方法来询问用户是否要继续,但我的问题是它只是忽略选择并重新启动程序,无论我输入什么。我在代码中遗漏了什么导致它忽略我的选择? public class
我是一名优秀的程序员,十分优秀!