如何从浮点数转换为字符串或字符串转换为浮点数?
在我的情况下,我需要使断言之间的2值字符串(值,我已经从表)和浮动值,我已经计算。
String valueFromTable = "25";
Float valueCalculated =25.0;
我尝试了从float到string:
String sSelectivityRate = String.valueOf(valueCalculated);
但是这个断言不成立
如何从浮点数转换为字符串或字符串转换为浮点数?
在我的情况下,我需要使断言之间的2值字符串(值,我已经从表)和浮动值,我已经计算。
String valueFromTable = "25";
Float valueCalculated =25.0;
我尝试了从float到string:
String sSelectivityRate = String.valueOf(valueCalculated);
但是这个断言不成立
当前回答
String str = "1234.56";
float num = 0.0f;
int digits = str.length()- str.indexOf('.') - 1;
float factor = 1f;
for(int i=0;i<digits;i++) factor /= 10;
for(int i=str.length()-1;i>=0;i--){
if(str.charAt(i) == '.'){
factor = 1;
System.out.println("Reset, value="+num);
continue;
}
num += (str.charAt(i) - '0') * factor;
factor *= 10;
}
System.out.println(num);
其他回答
有三种方法将float转换为String。
"" + f Float.toString (f) String.valueOf (f)
有两种方法将字符串转换为float
Float.valueOf(str) Float.parseFloat(str);
例子:-
public class Test {
public static void main(String[] args) {
System.out.println("convert FloatToString " + convertFloatToString(34.0f));
System.out.println("convert FloatToStr Using Float Method " + convertFloatToStrUsingFloatMethod(23.0f));
System.out.println("convert FloatToStr Using String Method " + convertFloatToStrUsingFloatMethod(233.0f));
float f = Float.valueOf("23.00");
}
public static String convertFloatToString(float f) {
return "" + f;
}
public static String convertFloatToStrUsingFloatMethod(float f) {
return Float.toString(f);
}
public static String convertFloatToStrUsingStringMethod(float f) {
return String.valueOf(f);
}
}
我相信下面的代码会有所帮助:
float f1 = 1.23f;
String f1Str = Float.toString(f1);
float f2 = Float.parseFloat(f1Str);
- 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)
这是一个可能的答案,这也会给出精确的数据,只需要改变小数点在所需的形式。
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'上转换为字符串类型。