我正在尝试将字符串转换为float但我无法成功。
这是我的代码
float f1 = Float.parseFloat("1,9698");
它给出的错误是
Invalid float "1,9698";
为什么这样做?它是一个有效的浮点数
答案 0 :(得分:10)
您应该使用句号时使用逗号
float f1 = Float.parseFloat("1.9698");
这应该有效。
答案 1 :(得分:5)
您添加了逗号而不是'。'
这样做。
float f1 = Float.parseFloat("1.9698");
答案 2 :(得分:4)
Hope this will help you..
Float number;
String str=e1.getText().toString();
number = Float.parseFloat(str);
Or In one line-
float float_no = Float.parseFloat("3.1427");
答案 3 :(得分:1)
这是类型转换: 当我们在任何变量中使用不同类型的数据时,需要进行类型转换。
String str = "123.22";
int i = Integer.parseInt(str);
float f = Float.parseFloat(str);
long l = Long.parseLong(str);
double d= Double.parseDouble(str);
str = String.valueOf(d);
str = String.valueOf(i);
str = String.valueOf(f);
str = String.valueOf(l);
有时候我们需要类型转换: 当我们使用相同数据但不同类型时需要类型转换。 只有你将Big转换为小数据类型。
i = (int)f;
i = (int)d;
i = (int)l;
f = (float)d;
f = (float)l;
l = (long)d;
答案 4 :(得分:1)
使用此浮点数f1 = Float.parseFloat(“1.9698”);或者用(。点)代替(逗号),这是无效的邮票号码
答案 5 :(得分:1)
Float total = Float.valueOf(0);
try
{
total = Float.valueOf(str);
}
catch(NumberFormatException ex)
{
DecimalFormat df = new DecimalFormat();
Number n = null;
try
{
n = df.parse(str);
}
catch(ParseException ex2){ }
if(n != null)
total = n.floatValue();
}
答案 6 :(得分:0)
在科特林:
stringValue.toFloatOrNull() ?: 0F
这将给 NumberFormatException 免费转换。
更精确:
private fun getFloat(stringValue: String) = stringValue.toFloatOrNull() ?: 0F