在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 并且比较,arrayLength
是 int
)。
我在一个类中进行计算并将结果添加到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位[重复]的主要内容,如果未能解决你的问题,请参考以下文章