如何在 Java 中将浮点数更改为字符串?

How to change a float into a String in Java?

是否可以将浮点值更改为字符串?如果可能,是否也可以将其转换为字符串,同时将数字四舍五入为最接近的整数?

例如,如果我有一个浮点数,例如 2.335,那么我可以将其更改为值“2.335”或“2”的字符串(通过四舍五入)吗?

使用javaFloatclass:

String s = Float.toString(25.0f);

如果要向下舍入一个数字,只需使用 Math.floor() 函数即可。

float f = 2.9999f;
String s = Float.toString(Math.floor(f));//rounds the number to 2 and converts to String

第一行将数字向下舍入为最接近的整数,第二行将其转换为字符串。

另一种方法是使用 String.valueOf(floatNumber);

float amount=100.00f;
String strAmount=String.valueOf(amount);

要做到这一点,你可以简单地做

float example = 2.335
String s = String.valueOf(Math.round(example));

将浮点数转换为字符串:

String s = Float.toString(2.335f);

舍入可以通过

完成
String.format("%.5g%n", 0.912385);

其中 returns 0.91239

有关更详细的答案,请参阅 Round a number in Java

您的第一个要求可以用 String.valueOf

来满足
float f = 1.6f;
String str = String.valueOf(f);

对于四舍五入,您可以使用 Math.round 而不是 Math.floor。因为 Math.floor 会将 1.6 转换为 1.0 而不是 2.0,而 Math.round 会将您的数字四舍五入为最接近的整数。