首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Java中,对于太大的数字和太小的数字,如何获得非常高的精度?

在Java中,对于太大的数字和太小的数字,如何获得非常高的精度?
EN

Stack Overflow用户
提问于 2014-05-09 08:23:52
回答 1查看 210关注 0票数 3

我将进行包含大数或小数的计算,并得出一个很大或很小的数字。

我现在关心的是如何让事情变得尽可能精确,

当我在Google计算器1000^10 = 1e+30上尝试这种计算时,它可以被解读为1000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,

当我使用BigDecimal尝试相同的计算时,我得到了不同的结果!

代码语言:javascript
复制
  BigDecimal bigNumber = new BigDecimal(Math.pow(1000, 10));
  System.out.println(bigNumber);

十万,000,000,000,019,884,624,838,656

我很高兴,它给了我所有的数字,没有使用科学的符号,但它提供了一些额外的垃圾数字在结尾。

请注意,我并不局限于BigDecimal。反正我也很关心精确性。

因此,如何在Java?中获得一个非常高的精度(对于太大的数字和太小的数字)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-09 08:29:35

使用BigDecimal和在double中进行计算与根本不使用BigDecimal是一样的。

使用BigDecimal进行计算:

代码语言:javascript
复制
BigDecimal bigNumber = new BigDecimal(1000).pow(10);
System.out.println(bigNumber);
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23559862

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档