黑马程序员技术交流社区

标题: 请教 [打印本页]

作者: 新手123    时间: 2014-7-13 21:38
标题: 请教
class Demo
{
        public static void main(String[] args)
        {
int x=4444;
         x=(double)(x/1000*1000);
                        System.out.println(x);
        }
}
我想得到         x=444.4   这样到是得出来了  但还是提示错误 说;(损失精度)怎么能  没有错误啊


作者: 黄宝宝    时间: 2014-7-14 10:00
你强转成double,然后又赋给int,当然会损失精度。
作者: 玉冰竹    时间: 2014-7-14 23:17
你定义的x是int型 , 除法的结果被你强转成了double类型 , 再赋值给int类型的x会损失精度.
作者: 天涯无痕    时间: 2014-7-15 21:28
Java会自动转类型的   这个就会损失精度
作者: 新手123    时间: 2014-7-15 22:35
那我想得到  x=444.4   该怎么做啊




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2