首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

//关于double 类型 转换成 float 类型出错,等待解决.解决方案

2012-01-29 
//关于double 类型 转换成 float 类型出错,等待解决.publicclassaa{staticdoublenum993.01dstaticfloatt

//关于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所表示的范围,两种方法都会取不到值。

但这一种方法一目了然,很直观。
[解决办法]
统一楼上的,可以直接转换类型的!
数值之间的转换都可以用上面的方法,简单啊!

热点排行