java:将float转换为String和String来浮动
我怎么能从浮动转换为string或string浮动?
在我的情况下,我需要作出2个值之间的断言(我从表中获得的值)和我计算的浮点值之间的断言。
String valueFromTable = "25"; Float valueCalculated =25.0;
我尝试从浮动到string:
String sSelectivityRate = String.valueOf(valueCalculated );
但断言失败
使用Java的Float
类。
float f = Float.parseFloat("25"); String s = Float.toString(25.0f);
要比较它总是更好地将string转换为浮动和比较为两个浮动。 这是因为对于一个浮点数有多个string表示,当与string进行比较时(例如“25”!=“25.0”!=“25.00”等)
浮动到string – String.valueOf()
float amount=100.00f; String strAmount=String.valueOf(amount); // or Float.toString(float)
string浮动 – Float.parseFloat()
String strAmount="100.20"; float amount=Float.parseFloat(strAmount) // or Float.valueOf(string)
你可以试试这个代码示例:
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()); } } }
在这里find
我相信下面的代码将有所帮助:
float f1 = 1.23f; String f1Str = Float.toString(f1); float f2 = Float.parseFloat(f1Str);
这是一个可能的答案,这也将给出精确的数据,只需要更改所需格式的小数点。
公共类TestStandAlone { / ** *这个方法是主要的
* @参数参数无效 * / public static void main(String [] args){ // TODO自动生成的方法存根 尝试{ 浮点数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自动生成的catch块 e.printStackTrace(); } } }
输出将是
f1→152.32 s1 152.32
以及这种方法不是一个好的,但容易,不build议。 也许我应该说这是最不有效的方法和更差的编码实践,但使用起来很有趣,
float val=10.0; String str=val+"";
在空引号中,向variablesstr添加一个空string,向stringtypes上传“val”。