Java: конвертировать float в String и String для float

Как я могу конвертировать из float в строку или строку для float?

В моем случае мне нужно сделать утверждение между двумя значениями string (значение, которое я получил из таблицы) и значением float, которое я вычислил.

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

Я попытался с float в строку:

String sSelectivityRate = String.valueOf(valueCalculated );

но утверждение терпит неудачу

Ответ 1

Использование класса Javas Float.

float f = Float.parseFloat("25");
String s = Float.toString(25.0f);

Для сравнения всегда лучше преобразовать строку в float и сравнить как два поплавка. Это связано с тем, что для одного числа с плавающей точкой имеется несколько представлений строк, которые отличаются друг от друга по сравнению со строками (например, "25"!= "25,0"!= "25,00" и т.д.).

Ответ 2

Поплавок в строку - String.valueOf()

float amount=100.00f;
String strAmount=String.valueOf(amount);
// or  Float.toString(float)

String to Float - Float.parseFloat()

String strAmount="100.20";
float amount=Float.parseFloat(strAmount)
// or  Float.valueOf(string)

Ответ 3

Вы можете попробовать этот образец кода:

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

найдено здесь

Ответ 4

Я считаю, что следующий код поможет:

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

Ответ 5

Это возможный ответ, это также даст точные данные, просто нужно изменить десятичную точку в требуемой форме.

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

Ответ 6

Хорошо, что этот метод не является хорошим, но легким и не предлагается. Может быть, я должен сказать, что это наименее эффективный метод и худшая практика кодирования, но, забава в использовании,

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

пустые кавычки, добавьте нулевую строку в переменную str, повысив значение "val" до типа строки.