![](/img/trans.png)
[英]Why Does java BigDecimal division results different than Double division when using RoundingMode
[英]Java different situation division
如何在Java中划分两个数字并在两种不同情况下获得不同类型:
像这样的代码:
int a;
int b;
float div = a / b;
a 和 b 是整数。 (例如,如果可以得到2,我不想得到2.0)
如果除法是整数,您也可以只检查模运算符。
int a = 6;
int b = 4;
if(a % b == 0) {
System.out.print(a/b);
}
else {
System.out.print((float)a/b);
}
如果除法 a % b 等于 0,则除法是整数。 如果不是,那么它是一个分数,您可以将操作数(a 或 b)中的一个转换为浮点数,以获得表示分数结果的小数。
输出:
1.5
尝试将float
转换为int
并比较结果,如果相同,则打印整数,否则,使用浮点数:
public class Main {
public static void main(String[] args) {
int a = 6;
int b = 3;
getDivisionResult(a, b);
b = 4;
getDivisionResult(a, b);
}
private static void getDivisionResult(int a, int b) {
float div = (float) a / b;
int rounded = (int) div;
if(rounded == div)
System.out.println(rounded);
else
System.out.println(div);
}
}
输出:
2
1.5
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.