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

如何使用可变精度的Java String.format?

司马宏邈
2023-03-14
问题内容

我想根据用户输入更改要格式化的字符串中双精度表示形式的精度。现在我正在尝试类似的东西:

String foo = String.format("%.*f\n", precision, my_double);

但是我收到了java.util.UnknownFormatConversionException。这种方法的灵感来自C
printf和此资源(第1.3.1节)。

我是否在某个地方有一个简单的语法错误,Java是否支持这种情况,还是有更好的方法?

编辑:

我想我可以做些类似的事情:

String foo = String.format("%." + precision + "f\n", my_double);

但我仍然会对这种操作的本机支持感兴趣。


问题答案:
您可以回答自己的问题-
动态地构建格式字符串…有效的格式字符串遵循此处概述的约定: http
//java.sun.com/j2se/1.5.0/docs/api/java/util/Formatter
.html#syntax

如果您想要一个格式化的小数形式,该小数部分总共包含8个字符(包括小数点),并且希望小数点后有4位数字,那么格式字符串应类似于“%8.4f” …

据我所知,除了格式字符串灵活之外,Java中没有“本机支持”。



 类似资料:
  • 我不断得到关于浮点数(即、或)是否有一个且只有一个精度值的混合答案,或者具有可以变化的精度值。 一个名为浮点与双精度的主题似乎暗示浮点精度是绝对精度。 然而,另一个被称为浮点和双精度之间的差异的主题说, 一般来说,双精度有15到16位十进制数字 另一位消息人士说, 浮点型变量的精度通常约为7位有效数字 double类型的变量通常具有约16位有效数字的精度 如果我使用的是敏感代码,当我的值不精确时,

  • 问题内容: 我试图确定双精度的最大精度是多少。在此链接的可接受答案的注释中,Java中的double保持精度 @PeterLawrey将max precision设置为15。 您如何确定呢? 问题答案: @PeterLawrey表示最大精度为15。 实际上,这根本不是他所说的。他说的是: 双精度有15个小数位 他错了。它们的精度为15个十进制 数字 。 任何数字中的小数位数由其对数10的对数给出。

  • 我试图确定double的最大精度是多少。在这个链接中接受的答案的注释中,Java中的Retain precision with double@PeterLawrey声明max precision In 15。 你如何确定这一点?

  • 我不熟悉数据挖掘和Weka。我使用GUI在Weka中用J48构建了一个分类器。Weka运行完毕后,会显示: 当从我自己的代码运行时(C#使用IKVM.NET),我使用相同的未标记数据集重新评估我的模型,将预测类的结果保存到ARFF文件中,并计算从1500条记录中得到的结果。 大约1300条记录被正确分类,200条记录没有正确分类,这使得(我认为)精度测量达到86%。 这是正确的吗?那么,为什么结果

  • 问题内容: 我有数千个音频文件,我想使用Keras和Theano对它们进行分类。到目前为止,我为每个音频文件生成了一个28x28的声谱图(可能更大一些,但我现在只是想让算法起作用),然后将图像读入矩阵。因此,最终我得到了这个大图像矩阵,以馈入网络进行图像分类。 在一个教程中,我找到了这个mnist分类代码: 此代码运行,并且我得到预期的结果: 到现在为止,一切都运行良好,但是,当我将上述算法应用于

  • 问题内容: 我正在尝试使用PHP创建数据库驱动的网站,并使用PostgreSQL数据库中存储的数据(通过PDO访问),并且我将需要存储和处理高精度的十进制数(在某些情况下,十进制)。 我打算在数据库中使用NUMERIC或DECIMAL数据类型来存储此数据,以保持所需的高精度。 使用PHP来(1)访问这些值,以及(2)对这样的高精度数字执行基本算术的最佳方法是什么? 我不想只使用浮点数,因为该数据类