当前位置: 首页 > 知识库问答 >
问题:

在java中显示double的完整值而不使用科学符号

养星汉
2023-03-14
double d = 5000000000000000000034534534d;
System.out.println(String.valueOf(d)); // prints 5.0E27

作为一个修正,我添加了新的Bigdecimal,它可以很好地工作到10-12位数字,而不是大数字。

System.out.println(new BigDecimal(d).toString()) // prints 4999999999999999791559868416

这与双倍值不同。需要一个解决方案,打印正确的数字为双至25位。

共有1个答案

梁丘璞瑜
2023-03-14

double值包含的有效数字太多,无法存储到double中。

您需要使用BigDecimal。

请看一下这个关于为什么我们应该在现实世界中使用BigDecimal而不是Double的答案?

 类似资料:
  • 但我想, 没有任何符号的完整数字。 我使用、等尝试了所有置换。 我已经读过: 如何避免双倍的科学符号? 设置双倍格式且不舍入

  • 我想在文本视图中设置没有科学符号的双倍全值(指数),最好的方法是什么?

  • 问题内容: 当我在PHP中进行以下乘法时: 我得到结果:1.0E-9 我想将此结果转换为普通的十进制表示法,我该怎么做? 不起作用,它返回。溢出? 问题答案: 不起作用,它返回。溢出? 可以,但是您在这里错过了一点。 没有溢出。只是对于修饰符,默认情况下使用6位数字。另外,请注意区域设置,可能更适合。 您可能希望使用更多数字,例如说4000000(400万): 如该示例所示,不仅有一个公共值(6位

  • 我正在用Java FX开发应用程序。在这个特定的窗口中,我使用了BorderPane。当按下按钮时,下面提供的代码应该显示在BorderPane的中心区域。 代码正在运行。按下按钮时,代码中的详细信息将显示在中心区域。但问题是两个标签内容都没有完全显示。我将提供一个屏幕截图。 那么,为什么标签的内容没有完全显示?如何使其完全可见?

  • 我有一个jsp页面中的表单,它允许用户存储产品的一些值,如名称、类别 下面是我的简单表格: 现在我主要关注的是类别元素。我想将db中的类别值显示为选择标签中的选项。我在request.set属性(“类别”,列表)中使用了列表,其中列表包含db中的类别名称值。 但我的输出显示如下: 我已经创建了bean类,并使用list从db中获取值。 简而言之,我需要知道以下拉方式在select标记中存储选项内数

  • 我正在创建一个熊猫的热图pivot_table如下: 它将创建一个热图,如下所示。你可以看到数字不是很大(最大750),但它是用科学记数法表示的。如果我查看表格本身,情况并非如此。你知道我怎样才能让它用简单的符号来表示数字吗?