如何在Java中将float更改为String?

时间:2016-02-14 10:42:48

标签: java rounding

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

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

4 个答案:

答案 0 :(得分:2)

使用java Float类:

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);

答案 1 :(得分:1)

要执行此操作,您只需执行

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

答案 2 :(得分:0)

将float转换为String:

String s = Float.toString(2.335f);

舍入可以通过

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

返回0.91239

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

答案 3 :(得分:-1)

您的第一个要求可以使用template <class T> struct isSupported : public isSupportedSimpleObject<T> {}; //is_object turned out to be a wrong thing template <template<class> class T, class U> struct isSupported < T<U> > : public __and_ < isSupportedContainer<T<U>>, isSupported <U> > {};

填写
String.valueOf

对于结算,您可以使用float f = 1.6f; String str = String.valueOf(f); 而不是 Math.round。由于Math.floor会将1.6转换为1.0而不是2.0,而Math.floor会将您的数字舍入为最接近的整数。