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

如何格式化一个双倍,使它永远不会显示科学的符号?[副本]

方璞
2023-03-14
DecimalFormat dFormat = new DecimalFormat("0.00");

共有1个答案

微生高谊
2023-03-14

在Google上一个5分钟的搜索将我带到这里:如何使用Java打印没有科学符号的双倍值?

这就是你想要的对吧?

这里有同样的事情,但在函数中:

public static String dNoScience(double d) {
    return String.format("%.0f\n", d);
}
 类似资料:
  • 我一直在从传感器读数中读取时间戳值,但由于它们是以纳秒为单位提供的,所以我想我会将它们转换为double并进行转换。得到的数字是一个17位的值,加上分隔符。 这是DecimalFormat错误/限制吗?还是我做错了什么?

  • 我正在使用模式"#0.00##"来格式化数字,它可以像预期的那样为大多数输入工作。但有时源号较小(即:6.84378E-05),并被转换为"0,0001"。 是否有可能仅使用科学符号格式化这些数字(不符合标准模式)?保持所有“正常”数字不变?用单一模式。 我必须只使用一个DecimalFormal模式,没有任何额外的代码。 编辑:为了更好地解释为什么我需要单精度格式:我使用的是一个外部库,只能定义

  • 编辑 我想把它输出成如下所示:

  • 如果我使用打印字典,它总是将字符串环绕单引号(): 有没有办法告诉使用双引号()来代替?我希望有以下行为:

  • 我在pandas中有一个数据框,其中一些数字用科学符号(或指数符号)表示,如下所示: 科学记数法使得本应简单的比较变得不必要的困难。我认为是21900值搞砸了其他值。我的意思是1.0是编码的。一! 这不起作用: 而也没有实现抑制,我绝望地看着,而似乎只对所有其他浮点值打开它,没有能力关闭它。

  • 如何将ISO-8601字符串格式化为自定义格式,如?我一直得到无法解析的日期异常。下面是我的代码段: