如何将字符串转换为浮点数?

How to convert a string into a float?

我正在尝试将字符串值“0.00008241”原样转换为 Float

我可以尝试什么

 String price="0.00008241";
 Float f1=Float.parseFloat(price);
 Float f2=Float.valueOf(price);
 Double f3 =Double.parseDouble(price);
 Double f4 =Double.valueOf(price);

但是所有这些 return 8.241E-5

然后我用 BigDecimal

试试
BigDecimal tt= BigDecimal.valueOf(Float.parseFloat(price));

它 returns 0.00008240999886766076

所以对按原样转换该价格值有什么帮助吗?

还是不能转换成字符串?

String price_="0.00008241";
        BigDecimal tt= BigDecimal.valueOf(Float.parseFloat(price_));
        DecimalFormat df = new DecimalFormat("#.##########");
        float price = Float.parseFloat("0.00008241");
        String sPrice= df.format(price);

我们可以将 BigDecimal 值与 double 值进行比较吗?

Big Decimal 非常适合此对话:

           String price="0.00008241";
           BigDecimal decimal=new BigDecimal(price);
           System.out.println(decimal); //0.00008241

你在找这样的吗。我不确定是不是,但这是

BigDecimal bd = new BigDecimal("0.00008241");
System.out.println(bd.toString());
BigDecimal result = bd.add(new BigDecimal("0.005"));
System.out.println(result.toString());
 Double f4 =Double.valueOf(price);
 DecimalFormat df = new DecimalFormat("#.#########");
 String after_convert=df.format(f4);
 System.out.println(after_convert);