如何准确地将Float解析为String?

时间:2013-09-18 10:02:50

标签: java string

正如标题所说:

我试过了:

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

但我发现Float值是否为100.00; 隐藏到字符串值将为100.0。 怎么避免呢?如何准确?

提前致谢。

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

答案指出那些特定小数位的那些。

4 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:1)

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

示例:

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

打印:

  

3.14

答案 2 :(得分:0)

如果你愿意这样做......

当你得到str =" 100.0&#34 ;;

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

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

BTW一种非常糟糕的方式......

答案 3 :(得分: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