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

时间:2018-05-26 10:30:06

标签: java android string valueconverter

我正在尝试转换字符串值" 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);

但所有这些都返回8.241E-5

然后我用BigDecimal

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

它返回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值进行比较吗?

3 个答案:

答案 0 :(得分:3)

Big Decimal非常适合这次对话:

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

答案 1 :(得分:3)

 Double f4 =Double.valueOf(price);
 DecimalFormat df = new DecimalFormat("#.#########");
 String after_convert=df.format(f4);
 System.out.println(after_convert);

答案 2 :(得分:1)

你正在寻找这样的吗?我不确定是不是这里是

BigDecimal bd = new BigDecimal("0.00008241");
System.out.println(bd.toString());
BigDecimal result = bd.add(new BigDecimal("0.005"));
System.out.println(result.toString());