//关于double 类型 转换成 float 类型出错,等待解决.
public class aa
{
static double num=993.01d;
static float temp=Float.valueOf(num).floatValue();
public static void main(String args[])
{
System.out.println(aa.temp);
}
}
/*************************************************************************
您好,我是想把double num 转换成 float temp 之后输出,但是上面的程序,不能通过
编译,请各位指点,给出正确答案.
如果您有时间的话,请您告诉我,上面的程序到底错在哪里?
*************************************************************************/
------解决方案--------------------因为你参数类型不对,Float.valueOf()中间的参数应该是String类型的
改成这样(如果你不嫌麻烦):
static double num=993.01d;
static float temp=Float.valueOf(String.valueOf(num)).floatValue();
public static void main(String args[])
{
System.out.println(aa.temp);
}
------解决方案--------------------static float temp=Float.valueOf( " "+num).floatValue();
你试试可以不?
------解决方案--------------------public static void main(String args[])
{
System.out.println(aa.temp);
}
放到public class aa{}外面
------解决方案-------------------- static float temp=Float.valueOf(String.valueOf(num)).floatValue();
不赞成:直接temp=(float)num;就可以了,因为如果num表示的数已经超过了float所表示的范围,两种方法都会取不到值。
但这一种方法一目了然,很直观。
------解决方案--------------------统一楼上的,可以直接转换类型的!
数值之间的转换都可以用上面的方法,简单啊!