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" до типа строки.