我需要一些幫助,這是我指的是代碼:雙精度
int myId;
my Id = 20113275l
int numLet;
numLet = 6;
double doubleResult;
doubleResult = 10000 + (80 + ((myId - 123456)/((numLet + 20)*(numLet + 20)) ));
System.out.println("Expression 5: " + doubleResult);
根據我的計算,答案應該是39650.7,但是當我運行程序它給我39650.0
任何人都可以解釋這裏發生了什麼?
添加的語言標記。是的,它顯然是一個Java,但只是爲了確保。 –
嘗試'doubleResult =(double)(10000 +(80 +((myId - 123456)/((numLet + 20)*(numLet + 20)))' –
表達式中的所有內容都以整數表示,規則。因此,除法是一個整數除法,這是截斷。 –