java两整数相除(乘),再乘以1.0 ,返回小数

这个地方为什么乘以1.0??? 原来:是为了结果获得小数。(先看方法二,再看方法一) 方法一: 看下边的描述: 为什么编程除法要再乘1.0? 当我们要做两个整数的除法,并保留一定的小数(或四舍五入到整数)的时候,在C、C++、JAVA中都不能直接做二个整型量的除法。因为在这些编程环境中,规定两个整数相除时的商仍是整数(小数总分一律丢弃)。而一个实数与一个整数相运算时,系统会自动把整数转变为同类型的实数,然后再做相应的运算。 所以, int a=16,b=10; int c=a/b; 的值就是c=1 double x = a * 1.0/b; //这就等于,与一个浮点数相乘,返回自然就是小数。 x=1.6

方法二: java中,当两个整数相除时,由于小数点以后的数字会被截断,运算结果将为整数,此时若希望得到运算结果为浮点数,必须将两整数其一或是两者都强制转换为浮点数。 例如: (float)a/b // 将整数其中一个强制转换为浮点数,再与另一个整数相除 a/(float)b (float)a/(float)b // 将两个整数同时强制转换为浮点数后再相除

经验分享 程序员 微信小程序 职场和发展