0

正如标题所说:

我试过了:

        Float.toString(float);
        String.valueOf(float);
        Float.toHexString(float);
        float.toString();

但我发现如果浮点值 = 100.00; 转换为字符串的值将是 100.0。如何避免?究竟要怎么做?

提前致谢。

编辑----------

答案指向那些指定小数位的答案。

4

4 回答 4

4

确切地说,您最好尝试使用 NumberFormat 类层次结构将 Float 格式化为 String:http: //docs.oracle.com/javase/6/docs/api/java/text/NumberFormat.html

于 2013-09-18T10:07:17.173 回答
1

最后保留2个零是“愚蠢的”。您所要做的就是在打印时根据需要添加尽可能多的零,但在内部,它将被保存为x.0

例子:

printf ("%.2f", 3.14159);

印刷:

3.14

于 2013-09-18T10:07:06.787 回答
0

如果你一心要这样做..

当你得到 str = "100.0";

 String[] strNew = str.split(".");

 if(strNew[1].length==1)
 {
 str=str+"0";
 }

顺便说一句,一个非常糟糕的方式......

于 2013-09-18T10:17:04.953 回答
0
float f = 100.00000f;
String expected = String.format("%.6f", f);

其输出将是:

100.000000

浮点数后的数字长度由您完成。

String.format("%.6f", f) == 100.000000

String.format("%.2f", f) == 100.00

于 2013-09-18T10:46:11.677 回答