java - 如何输出小数点后20位的Double?

标签 java double wrapper

大家好,

Double d = 1.000000000000000000000000000000001;
        System.out.println(d);

上面的代码打印 1.0 但我希望 d 存储整个值。 所需输出为 1.000000000000000000000000000000001

我关心的是如何将这个值存储为 double ? 有什么方法可以增加 double 可以存储的小数位数吗? 请指导我

最佳答案

您需要使用BigDecimal .

示例:

BigDecimal test = new BigDecimal("1.000000000000000000000000000000001");
System.out.println(test);

无法使用 double 表示相同内容的原因是 double 有 64 位。

关于java - 如何输出小数点后20位的Double?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11095057/

相关文章:

VBA:Variant/Double 和 Double 之间的区别

c++ - 我有一个具有不同前缀的相关函数的 C 库。派生的 C++ 类如何在不重复代码的情况下调用它们?

function - 在 Go 中将函数作为参数传递

java - 如何通过注释在spring mvc 3中设置 header 无缓存

c++ - atof 函数在程序中不起作用

Java 正则表达式生成模式

c++ - 双变量输出 32767 始终代替用户输入

css - 适用于所有设备的可重用 html 包装器

java - 制作带有可见边框的透明 JFrame

java - 使用 Guava Joiner 连接数组并包装每个元素