当前位置:  技术问答>java相关

太奇怪了,float类型变量居然赋值不了!!!!

    来源: 互联网  发布时间:2015-06-07

    本文导语:  public class Test{   public static void main(String args[]) {     try {     double a =1.0;     float b= (float)a;     float c = 1.9;     System.out.println(b);     }     catch(Exception e) {}   } } 看看上面,float c = 1.9;居然...

public class Test{
  public static void main(String args[]) {
    try {
    double a =1.0;
    float b= (float)a;
    float c = 1.9;
    System.out.println(b);
    }
    catch(Exception e) {}
  }
}
看看上面,float c = 1.9;居然有会报错,说什么会丢失精度
"Test.java": Error #: 355 : possible loss of precision: double, required: float at line 8, column 15
难道float变量就不能直接赋值么?
难道一定要我这样给float类型变量赋值?float c = (float)1.9; 
怎么会这样啊,谁能够解释清楚?

|
具体定义如下:
  float类型的数值有一个后缀F,比如3.402F。如果发现一个浮点数没有F后缀,比如3.402,就表示它默认为精度更高的double类型。

至于float a = 1;为什么行,那是因为赋值时,整数1默认为int型,而int类型可以直接向float类型转换,不必要显示造型如float a = (float)1.0;

  understand?

|
by default, literal float numbers are double, try

float c = 1.9F;

|
1默认是int,可以转换成float,但1.0默认是double,不能转化成float

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • jsp中怎样插入TEXT类型的值!!比较奇怪!!!!
  • 很奇怪,varchar2类型在sql*plus中可以看到正常的字符串,用java读出来却是二进制?
  • 奇怪了,unsigned int的数<<9,返回long long类型的结果出错呢?
  • 奇怪 linux 下 动态创建数组 这样写说结构体的实参类型无效
  • 奇怪!奇怪!真奇怪!!!
  • 奇怪奇怪真奇怪
  • 奇怪,真奇怪,在线等待
  • shm_open函数问题.奇怪!!!奇怪!!!!!
  • 奇怪奇怪...........?????...........
  • solaris上的C程序,编译报错: 存储类只能使用register,奇怪,奇怪!
  • 奇怪!奇怪!我用jbuilder编jsp程序,从数据库中取出的字符串型字段却显示16进制数
  • 奇怪的问题 奇怪的问题,向大家请教
  • 奇怪啊,奇怪,为什么我的JB7做EJB时,只要在EJB设计面板上随便做点东西,我的EJB的JAVA的源码就会变的不见了,或者少了很多字段申明??
  • 奇怪,CSDN的贴子,提问部分我最多能看到第4行??!!
  • accept,recvfrom接收到奇怪的ip
  • 好奇怪的问题哎………………怎么也不能安装!
  • 一个特奇怪的函数申明错误
  • unix下的非常的奇怪WC的问题,向unix高手请教 好急呀!!!!!!!!!!!!!!!
  • 奇怪!关于字串参数的问题?
  • 一个奇怪的路径问题
  • 一些奇怪的现象,帮帮我
  • !!!初学Java,遇到一个奇怪问题,请大家回答!!!
  • SOCKET发送奇怪问题!!!
  • 奇怪的四分之一屏!!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3