float与double的精度问题 本帖最后由 zhq195w 于 2012-12-02 21:33:23 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 常量15.6被认为是double型的了,如果要想让它是float型的有两种方法1.(float)15.62. 15.6f把double型的值赋给float型的变量,所以就报错了 import java.lang.*;class CRectangle{ float width; float height;} public class hw8_3 { public static void main(String args[]){ CRectangle rect1 = new CRectangle(); rect1.width = 15.6; rect1.height = 10.8; System.out.println("area="+(rect1.width*rect1.height)); System.out.println("float的最大值:"+java.lang.Float.MAX_VALUE); }}报错了:精度损失,怎么回事? double 是双精度型的,float是单精度的,double 取得的范围大,大的数据传给小的float就会报错。 问个java gui的问题 frame刷新 关于字符串分割 请问注册登陆系统是如何做的 求助:java类的源代码 如何 读取一个book中的所有sheet--HSSFWorkbook Java通过JDBC连接oracle数据库的问题 大家帮我看看这个例子是如何错的?很简单的一个Swing窗口 关于applet的一个问题?求救! 求大神该正程序 招聘(声明:选择这里贴如此的帖子也许不合适,但觉得这里人才颇多,所以请斑竹保留几天。 :) ) java程序咖啡图标怎么去掉或自定义图片? 请教关于return语句的内存分析!
1.(float)15.6
2. 15.6f把double型的值赋给float型的变量,所以就报错了
class CRectangle{
float width;
float height;
}
public class hw8_3 {
public static void main(String args[]){
CRectangle rect1 = new CRectangle();
rect1.width = 15.6;
rect1.height = 10.8;
System.out.println("area="+(rect1.width*rect1.height));
System.out.println("float的最大值:"+java.lang.Float.MAX_VALUE);
}
}
报错了:精度损失,怎么回事?