在Java中打印小数点后1位[重复]

Posted

技术标签:

【中文标题】在Java中打印小数点后1位[重复]【英文标题】:Print 1 digit after decimal point in Java [duplicate] 【发布时间】:2020-07-24 11:39:36 【问题描述】:

我想打印一个小数点后有数字的数字,但我只想显示一个数字。

ratio = (double) comparisons / arrayLength;

(虽然 ratio 是 double 并且比较,arrayLengthint)。

我在一个类中进行计算并将结果添加到string(稍后从方法返回时),并在测试类中进行打印。

我需要更改比率,并且不允许在测试类中使用printf

感谢您的帮助

【问题讨论】:

欢迎来到 Stack Overflow。请在提问前先搜索,并以比任何人都输入新答案更快的速度找到几个好的答案。 【参考方案1】:

由于您已经将结果保存在字符串中,您可以这样做-

 String result = String.format("%.1f",ratio);

如果您想将答案添加到现有字符串,那么您可以这样做-

result = String.format(result+"%.1f",ratio);

一个例子是这样的-

 String s = String.format("%.1f",2.3535);

输出 - 2.4

【讨论】:

我这样做了,但现在它只是打印比例,而不是字符串的其余部分 是否要将“比率”添加到现有字符串?比如“比率是 - 2.4”? 是的,它是一个现有的字符串 然后执行此操作- result = String.format(result+"%.1f",ratio); 它会将比率与字符串连接起来。 成功了!非常感谢你【参考方案2】:

您可以使用DecimalFormat 明确格式化数字:

DecimalFormat df = new DecimalFormat("###.#");
String formatted = df.format(ratio);
System.out.printly("ratio is " + ratio);

【讨论】:

以上是关于在Java中打印小数点后1位[重复]的主要内容,如果未能解决你的问题,请参考以下文章

java double保留小数点的零的问题

如何打印小数点后最多2位?

Android-四舍五入到小数点后2位[重复]

用小数点后2位打印PHP浮点数?

打印带有 2 位小数的双精度值和 .不是,[重复]

jQuery限制为小数点后2位[重复]