用JAVA写的,想把double转换为float,但失去精度,请问什么原因?double s=22.234567;
System.out.println("~~"+value.floatValue());输出的值~~22.234568请问为什么会失去精度?

解决方案 »

  1.   

    这个是基础吧,每本入门书籍里都有说明哦double原始变量保存数据的bit位数比float多 所以反像强制转型会失去精度...
      

  2.   

    c,c++,c#,java    等编程语言.
    64932857         群程序员技术坊
    40551702         JAVA/JSP探讨(2)有问题就去请教吧!都是高手群!
      

  3.   

    纳闷...
    我和你刚好相反, float转double的时候失去精度了, 而double转float是正常的.