Java 格式浮动到不同的精度

Java 格式浮动到不同的精度,java,format,Java,Format,我必须根据不同的值在Java中设置不同的浮点格式。比如说 23 format to 23 24.15 format to 24.15 30.249 format to 30.25 42.7 format to 42.7 也就是说,从第100位向上取整,但不向右显示最后的0(即3.4而不是3.40,7而不是7.0),等等,但同样最多显示两位小数 我在玩String.format,但找不出正确的格式。我确实需要格式化浮点并将其写入字符串 有没有人知道数字的格式应该是什么,或者有没有其他方法可以将数

我必须根据不同的值在Java中设置不同的浮点格式。比如说

23 format to 23
24.15 format to 24.15
30.249 format to 30.25
42.7 format to 42.7
也就是说,从第100位向上取整,但不向右显示最后的0(即3.4而不是3.40,7而不是7.0),等等,但同样最多显示两位小数

我在玩String.format,但找不出正确的格式。我确实需要格式化浮点并将其写入字符串

有没有人知道数字的格式应该是什么,或者有没有其他方法可以将数字格式化为字符串?

使用:

#
-数字,零表示不存在

试验

输出

23
24.15
30.25
42.7
53.01

要开始,您需要将.005添加到您的浮动中,以便它正确循环

floatvariable = floatvariable+.005;
然后你需要把它乘以一百

floatvariable = floavariable*100;
现在需要将其转换为整数,这将删除任何额外的数字

int intvariable = (int)floatvariable;
最后,您可以将该数字除以100,然后将其放回float变量中

floatvariable = (float)intvariable/100

现在,您应该有一个四舍五入到最接近的千分之一的数字。

如果
floatvariable
float
,则无法编译该数字的可能副本。它也不会编译,因为
floavariable
拼写错误。但最重要的是,如果初始值为
23
,则将打印
23.0
。OP想要打印
23
floatvariable = (float)intvariable/100