刚开始学习JAVA 作了一道数据类型转换的题目
1个float类型的数和1个double类型的数求和,结果以float类型返回
我是这样写的
class FdPlus
{
private float a;
private double b;

public FdPlus(float x,double y)
{
a=x;
b=y;
}

public void plus()
{
System.out.println("a="+a+",b="+b);
System.out.println("两个数的和是:"+Float.parseFloat(a+b));
}
}eclipse提示:类型 Float 中的方法 parseFloat(String)对于参数(double)不适用请指点一下怎么才能转成功

解决方案 »

  1.   

    System.out.println("两个数的和是:"+Float.parseFloat((float)(a+b)); 
      

  2.   

    1,只是println,为什么还要从double换成float呢?
      

  3.   

    题目要求返回float类型的结果
      

  4.   

    不好意思
    parseFloat(String str);要求的参数是 String类型的
    你现在给了个 double给它做参数。
    如果你要打印,直接
    System.out.println("两个数的和是:"+(a+b));  好了
      

  5.   

    但是打印出来的是double类型的值
      

  6.   

    double d = 10.123456789;
    float f = (float)d;
      

  7.   

    System.out.println("两个数的和是:"+((float)(a+b)));   
      

  8.   

    强制转换丢失精度,输出一下试试。int、float、double都是比较相近的数据类型,差别只是在精度和表示数值大小的范围上。跟String等类型的转换,才会用到类似Double.parseDouble(String)、Integer.parseInt(String) 方法,而它们可能抛出java.lang.NumberFormatException异常。
      

  9.   

    System.out.println("两个数的和是:"+Float.parseFloat(String.valueOf(a+b)));
    解决了别忘了结贴呀