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

为什么输出是科学符号?

施凡
2023-03-14

为什么以下代码的输出是科学符号?

      BigDecimal val = new BigDecimal("0000.000000111");
      System.out.println(val);

产出:1.11E-8

      BigDecimal val = new BigDecimal("0000.000011111");
      System.out.println(val);

共有1个答案

慕容渊
2023-03-14

如果您查看BigDecimal的ToString()函数,它说明了如何创建输出:

接下来,计算一个调整后的指数;这是被否定的刻度,加上转换的未缩放值中的字符数,减去一。即-scale+(ulength-1),其中ulength是未缩放值的绝对值以十进制位数表示的长度(其精度)。

如果刻度大于或等于零,调整后的指数大于或等于-6,则该数字将转换为字符形式,而不使用指数表示法。在这种情况下,如果小数位数为零,则不添加小数点;如果小数位数为正,则插入一个小数点,小数位数指定小数点右侧的字符数。

如果希望输出没有E10符号,请使用toPlainString()。

 类似资料:
  • 我是java初学者,我对上述程序的输出感到困惑。请给我解释一下输出的原因。

  • 1.3.什么是计算机科学 计算机科学往往难以定义。这可能是由于在名称中不幸使用了“计算机”一词。正如你可能知道的,计算机科学不仅仅是计算机的研究。虽然计算机作为一个工具在学科中发挥重要的支持作用,但它们只是工具。 计算机科学是对问题,解决问题以及解决问题过程中产生的解决方案的研究。给定一个问题,计算机科学家的目标是开发一个算法,一系列的指令列表,用于解决可能出现的问题的任何实例。算法遵循它有限的过

  • 我在Linux中使用的Java版本是: OpenJDK版本“16.0.2”2021-07-20 OpenJDK运行时环境(构建16.0.2+7) OpenJDK 64位服务器VM(构建16.0.2+7,混合模式) 这是我从Head-First Java书中编译的代码: 为什么那个特殊字符(%)会出现在字符串的末尾,我如何编写代码来去掉它?

  • 有人可以帮我理解吗 此语句是否正确:这意味着bcdc是Baseclass类类型,其值是Dervedclass对象类型?此外,这是什么意思,为什么一个对象会这样实例化,而不是让类类型与正在实例化的新对象相同,如? 为什么

  • 它给出的输出为“cricket”。但我不明白为什么?http://ideone.com/fteahg

  • 问题内容: 什么是输出缓冲?为什么在PHP中使用它? 问题答案: Web开发人员的输出缓冲,初学者指南 如果没有输出缓冲(默认),则HTML将通过脚本逐步地作为PHP进程发送到浏览器。使用输出缓冲,您的HTML存储在一个变量中,并在脚本末尾作为一个片段发送到浏览器。 Web开发人员的输出缓冲优势 单独打开输出缓冲可减少下载和呈现HTML所需的时间,因为在PHP处理HTML时,不会将其分段发送给浏览