问答中心分类: JAVA如何很好地将浮点数格式化为字符串,而不需要不必要的十进制0
0
匿名用户 提问 1月 前

64位双精度可以表示整数+/-253确切地
鉴于这一事实,我选择对所有类型使用双精度类型作为单一类型,因为我的最大整数是一个无符号32位数字。
但现在我必须打印这些伪整数,但问题是它们也与实际的双精度混合在一起。
那么,如何在Java中很好地打印这些双精度?
我试过了String.format("%f", value),这很接近,只是我得到了很多小值的尾随零。
以下是的输出示例%f

232

我想要的是:

232

当然,我可以编写一个函数来修剪这些零,但由于字符串操作,这会造成很多性能损失。我可以用其他格式代码做得更好吗?

Tom E.和Jeremy S.的答案是不可接受的,因为他们都任意四舍五入到小数点后两位。回答前请先理解问题。

请注意String.format(format, args...)取决于语言环境(参见下面的答案)。