今天我帶着一個問題,不能夠弄清楚什麼是這個簡單的語句問題意外的雙重價值
我試過
double d =1/4;
預期ANS對我來說是0.25
但在現實中ans是0.0
爲什麼這樣?
而且因爲你所做的是在這裏整數除法我們應該怎麼做,如果語句是整型變量而言這樣
double a =(a-b)/(d+e);
今天我帶着一個問題,不能夠弄清楚什麼是這個簡單的語句問題意外的雙重價值
我試過
double d =1/4;
預期ANS對我來說是0.25
但在現實中ans是0.0
爲什麼這樣?
而且因爲你所做的是在這裏整數除法我們應該怎麼做,如果語句是整型變量而言這樣
double a =(a-b)/(d+e);
。 1/4
總是給你0
作爲結果,無論你分配哪種類型。
.NET有3種類型的劃分。從7.7.2 Division operator
從整數除法一部分;
劃分舍入結果趨向於零,而 絕對值的結果是最大的可能整數小於所述兩個操作數的商數的 絕對值。
如果您想要0.25
作爲結果,您應該將其中一個值定義爲浮點。
您可以使用其中之一;
double d = 1d/4d;
double d = 1d/4;
double d = 1/4d;
而且我們應該怎樣做,如果語句是整型變量 這樣
雙A =(A-B)/(d + E)的條款;
我假設你a
,b
,d
和e
是整數,你應該使用這些再一個;
double a = (double)(a-b)/(double)(d+e);
double a = (a-b)/(double)(d+e);
double a = (double)(a-b)/(d+e);
double d =1d/4;
應該工作。 如果您未指定數字的類型,則將其視爲整數。整數1/4將爲零。
我們應該怎麼做,如果w有像這樣的整數變量的語句double a =(a-b)/(d + c); –
投下至少一面加倍? – MichaC
/操作員(msdn)
當你把兩個整數,結果始終是整數。例如,對於 示例,7/3的結果爲2.要確定剩餘的7/ 3,請使用餘數運算符(%)。要獲得商數作爲合理的 數字或分數,請給出分紅或除數類型浮點數或類型 雙數。如果您通過在 小數點的右側輸入一位數字表示股利 或除數作爲小數,您可以隱式指定類型。
試試這個:
double d = 1.0/4.0;
使用此:
double d = (double) 1/4;
我們應該做些什麼當w在這樣的雙A =(AB)整型變量的條件語句/(d + c) –
@HotCoolStud我更新了我的答案。看一看。 –