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

最长double值如何去除double中的科学符号

申屠宏胜
2023-03-14
Double d = new Double(123456789987654321123456789d);
System.out.println(d);
1.2345678912345678E35

但我想,

123456789987654321123456789

没有任何符号的完整数字。

我使用BigDecimalBigInteger等尝试了所有置换。

我已经读过:

  • 如何避免双倍的科学符号?
  • 设置双倍格式且不舍入

共有1个答案

桂坚
2023-03-14

请尝试此BigDecimal::ToPlainString:

BigDecimal d = new BigDecimal("123456789987654321123456789");
String result = d.toPlainString();

d的输出为:

123456789987654321123456789

要填充到JSon有很多种方法,我不确定您到底想要什么,但也许这可以帮助您如何使用字符串创建JSon对象?:

BigDecimal d = new BigDecimal("123456789987654321123456789");

JSONObject myObject = new JSONObject();
myObject.put("number", d.toPlainString());
 类似资料:
  • 作为一个修正,我添加了新的Bigdecimal,它可以很好地工作到10-12位数字,而不是大数字。 这与双倍值不同。需要一个解决方案,打印正确的数字为双至25位。

  • 我如何解释以下内容: 打印2.29999 打印2.3

  • 问题内容: 在我的一个实验室的示例Java程序中,我有两种分别采用Double和double参数的不同方法。 将参数传递给它们时,如何区分它们? 问题答案: 首先,您需要了解两种类型之间的区别。 是基本类型,而是对象。 下面的代码显示了一个重载的方法,我认为它与您的实验室代码相似。 有几种方法可以调用这些方法: 这些调用将导致:

  • 问题内容: 我正在实现一个接口,该接口的功能类似于可以包含某种对象的表的功能。该接口指定以下功能: 在我的实现中,我感到很困惑的是,我将表数据存储在2D 数组()中。当我需要返回值时,我想执行以下操作(假定只在包含double的列上调用,因此将没有): 但是- Java不允许强制转换为。将其强制转换为可以,因为它是一个对象,而不是基元,但是我的接口指定数据将以形式返回。 所以我有两个问题: 有什么

  • 问题内容: 因此,前几天,在Google Play开发者控制台的“崩溃”部分中弹出以下错误: 现在,如果我错了,请更正我,但这实际上是有效的双精度型-在我的计算机,模拟器和我自己的Android设备(Nexus 5)上,该双精度型均被视为有效的双精度型。 它崩溃的设备是运行Android 4.3的Galaxy Note II-关于它为什么可能崩溃的任何想法吗? 问题答案: 根据您的区域设置,它是否

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