java的int的两个类型相除,结果怎么取舍啊? 就比如: int r=13/2;类似的,最后r怎么进位啊,是就取整数把剩下的都不要还是怎么样?谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 BigDecimal decimal1 = new BigDecimal(18); BigDecimal decimal2 = new BigDecimal(7); BigDecimal decimal = decimal1.divideToIntegralValue(decimal2); System.out.println(decimal.intValue()); int i=13; System.out.println(i/2);浮点型转化成int会损失精度,所以不存在进位 根据精度需求~如果不允许精度丢失那就是你设计问题,你不能用int,用那个double或者BigDecimal~ 哦,那意思就是说,i,j两个数是整数,相除之后如果没有声明结果的类型就是double 的对吗,这样就存在丢失精度对吗?如果是结果直接是生命是int类型的,那是不是直接取整数了。 不申明的话直接默认为int类型,丢失精度,如果不想丢失精度,可以强制转换成double int i=12;int j=3; i/j 之后还是int类型,是这个意思吗? 就是不要!回忆小学数学(我真的是这么干的)13/2=6..........113/7=1...........6所以java里面(大多数都是这样的)13/2=613%2=113/7=113%7=6 变量类型是int int是整型 所以相除的结果一定是整型 因为是整型所以不含有小数没有什么进位 int i=12;int j=3; i/j 之后还是int类型,是这个意思吗?是的,没错。不申明的话就是原先int类型的。会丢失精度。 int i=12;int j=3; i/j 之后还是int类型,是这个意思吗?是的 5/3=1……2int r = (int )(5/3),r就是1.没有(int)的话,小数点后面的数时没法确定的 直接默认为int类型,丢失精度 应该是INT的 int a,b; a = a/b + a % b; 默认只会去整数部分,小数部分丢失。如果要小数部分,必须转换成float或者double类型再进行计算 两个int型相除,最后的结果是小数,取整,结果是整数,就是这个整数 这个我建议楼主去看看C语言的基础知识,两个int整数相除,结果是直接取整,学java还是有c的基础会好一点 整数除法,丢掉余数int a = a/b * b + a % b; int与int相除,只保留整数位,小数点后面全部舍掉 int 类型数据 与 int类型数据 相除 得到的一定是int类型 17/2=8 17/2.0 得到就是 double类型 对象构造器问题 java中怎么从.CVS文件读写数据 请问哪里错了 java编译器检查内容(编译原理问题,高手请进) 一个非常简单的问题,情大家帮助! winxp如何使用java的ftp程序? Java基础,接口 程序编到什么程度? 求教java中操作mssql语句和存储过程几个常用的方法和函数? Java2 核心技朮,java编程思想哪里有下载的 同一台机器上可否同时安装Java的32位版和64位版? 求图集中搜索目标图相关资料
BigDecimal decimal2 = new BigDecimal(7);
BigDecimal decimal = decimal1.divideToIntegralValue(decimal2);
System.out.println(decimal.intValue());
System.out.println(i/2);浮点型转化成int会损失精度,所以不存在进位
哦,那意思就是说,i,j两个数是整数,相除之后如果没有声明结果的类型就是double 的对吗,这样就存在丢失精度对吗?如果是结果直接是生命是int类型的,那是不是直接取整数了。
int j=3;
i/j 之后还是int类型,是这个意思吗?
就是不要!回忆小学数学(我真的是这么干的)
13/2=6..........1
13/7=1...........6所以java里面(大多数都是这样的)
13/2=6
13%2=1
13/7=1
13%7=6
变量类型是int int是整型 所以相除的结果一定是整型 因为是整型所以不含有小数没有什么进位
int j=3;
i/j 之后还是int类型,是这个意思吗?
是的,没错。不申明的话就是原先int类型的。会丢失精度。
int j=3;
i/j 之后还是int类型,是这个意思吗?是的
int r = (int )(5/3),r就是1.没有(int)的话,小数点后面的数时没法确定的
a = a/b + a % b;