我正在尝试转换字符串值" 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值进行比较吗?
答案 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());