当前位置: 首页 > 面试题库 >

如何使用Java打印没有科学符号的双精度值?

祁权
2023-03-14
问题内容

我想在Java中打印双精度值而不使用指数形式。

double dexp = 12345678;
System.out.println("dexp: "+dexp);

它显示此E表示法:1.2345678E7

我希望它像这样打印它: 12345678

防止这种情况的最佳方法是什么?


问题答案:

你可以使用printf()%f

double dexp = 12345678;
System.out.printf("dexp: %f\n", dexp);

这将打印dexp: 12345678.000000。如果你不想要小数部分,请使用

System.out.printf("dexp: %.0f\n", dexp);

这使用了文档中说明的格式说明符语言。



 类似资料:
  • 我搜索了一下,但我只找到了如何在没有科学符号的情况下减少数字(所以它最终会像一样,因为数字很小)。

  • 问题内容: 我很好奇,是否有任何打印格式化的方法,例如,类似于以下方式: 如果我想打印浮点数,它会以“科学”格式打印几位小数,即使对于低维数组也很难阅读。但是,显然必须将其打印为字符串,即使用。有解决方案吗? 问题答案: 你可以用来设置输出的精度: 并禁止对小数使用科学计数法: 有关其他选项,请参见文档中的s。 要使用NumPy 1.15.0或更高版本在本地应用打印选项,可以使用上下文管理器。例如

  • 问题内容: 我有一个类似的双精度数字,我需要把它显示为。 如何用Java做到这一点? 问题答案: 结果是 这是我最接近的。

  • 我一直在从传感器读数中读取时间戳值,但由于它们是以纳秒为单位提供的,所以我想我会将它们转换为double并进行转换。得到的数字是一个17位的值,加上分隔符。 这是DecimalFormat错误/限制吗?还是我做错了什么?

  • 我试图在x86_64汇编中打印一个浮点数,但它只是将值打印为零。 关于这一点已经有几个问题了。一个问题似乎通过确保您设置在%al中使用的向量寄存器的数量得到了解决。另一个表明您需要16个字节的堆栈对齐。但是,我正在做这两件事,但仍然没有得到正确的输出。 这是我的程序:

  • 我有一个连接到CUPS的打印机,它支持双面打印,如何通过java例程将其设置为单面打印或双面打印? 我曾尝试使用它的库使用ASET添加和addViewer首选项没有任何运气。 有人能提供一些建议吗?