正如标题所说:
我试过了:
Float.toString(float);
String.valueOf(float);
Float.toHexString(float);
float.toString();
但我发现如果浮点值 = 100.00; 转换为字符串的值将是 100.0。如何避免?究竟要怎么做?
提前致谢。
编辑----------
答案指向那些指定小数位的答案。
确切地说,您最好尝试使用 NumberFormat 类层次结构将 Float 格式化为 String:http: //docs.oracle.com/javase/6/docs/api/java/text/NumberFormat.html
最后保留2个零是“愚蠢的”。您所要做的就是在打印时根据需要添加尽可能多的零,但在内部,它将被保存为x.0
例子:
printf ("%.2f", 3.14159);
印刷:
3.14
如果你一心要这样做..
当你得到 str = "100.0";
String[] strNew = str.split(".");
if(strNew[1].length==1)
{
str=str+"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