A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 新手123 中级黑马   /  2014-7-13 21:38  /  1129 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

class Demo
{
        public static void main(String[] args)
        {
int x=4444;
         x=(double)(x/1000*1000);
                        System.out.println(x);
        }
}
我想得到         x=444.4   这样到是得出来了  但还是提示错误 说;(损失精度)怎么能  没有错误啊

4 个回复

倒序浏览
你强转成double,然后又赋给int,当然会损失精度。
回复 使用道具 举报
你定义的x是int型 , 除法的结果被你强转成了double类型 , 再赋值给int类型的x会损失精度.
回复 使用道具 举报
Java会自动转类型的   这个就会损失精度
回复 使用道具 举报
那我想得到  x=444.4   该怎么做啊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马