![](/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.