如何从浮点数转换为字符串或字符串转换为浮点数?

在我的情况下,我需要使断言之间的2值字符串(值,我已经从表)和浮动值,我已经计算。

String valueFromTable = "25";
Float valueCalculated =25.0;

我尝试了从float到string:

String sSelectivityRate = String.valueOf(valueCalculated);

但是这个断言不成立


当前回答

这是一个可能的答案,这也会给出精确的数据,只需要改变小数点在所需的形式。

public class TestStandAlone {

    /**
     * 

This method is to main

* @param args void */ public static void main(String[] args) { // TODO Auto-generated method stub try { Float f1=152.32f; BigDecimal roundfinalPrice = new BigDecimal(f1.floatValue()).setScale(2,BigDecimal.ROUND_HALF_UP); System.out.println("f1 --> "+f1); String s1=roundfinalPrice.toPlainString(); System.out.println("s1 "+s1); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }

输出将是

f1 --> 152.32
s1 152.32

其他回答

我相信下面的代码会有所帮助:

float f1 = 1.23f;
String f1Str = Float.toString(f1);      
float f2 = Float.parseFloat(f1Str);

如果你要找的是小数点后两位。 浮动f = (Float)12.34; 字符串s = new DecimalFormat("#.00")。格式(f);

这是一个可能的答案,这也会给出精确的数据,只需要改变小数点在所需的形式。

public class TestStandAlone {

    /**
     * 

This method is to main

* @param args void */ public static void main(String[] args) { // TODO Auto-generated method stub try { Float f1=152.32f; BigDecimal roundfinalPrice = new BigDecimal(f1.floatValue()).setScale(2,BigDecimal.ROUND_HALF_UP); System.out.println("f1 --> "+f1); String s1=roundfinalPrice.toPlainString(); System.out.println("s1 "+s1); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }

输出将是

f1 --> 152.32
s1 152.32

这个方法不是很好,但是很简单,不建议使用。也许我应该说这是最无效的方法,也是最糟糕的编码实践,但是,使用起来很有趣,

float val=10.0;
String str=val+"";

空引号,将一个空字符串添加到变量str,将'val'上转换为字符串类型。

您可以尝试以下示例代码:

public class StringToFloat
{

  public static void main (String[] args)
  {

    // String s = "fred";    // do this if you want an exception

    String s = "100.00";

    try
    {
      float f = Float.valueOf(s.trim()).floatValue();
      System.out.println("float f = " + f);
    }
    catch (NumberFormatException nfe)
    {
      System.out.println("NumberFormatException: " + nfe.getMessage());
    }
  }
}

在这里找到