Java 中 int / int 結果為 int(截取小數部份),導致 6517253 / 7195629 = 0。需至少一個運算元為浮點數型別。
int n1 = 6517253, n2 = 7195629;
double result1 = (double) n1 / n2; // 0.9057...
double result2 = (double) n2 / n1; // 1.1040...
int/int -> int,double/int -> double。(double) 只影響該運算元,不改變變數本身型別。float 同理,但精度較低,建議用 double。double d = n1 / n2; // 錯誤:先做整數除法再指派給 double,結果 0.0
double d = (double) (n1 / n2); // 錯誤:括號內仍為整數除法
double d = (double) n1 / n2; // 正確