我想分2龍的爲了找到百分比。但是,我只能得到0.0%
或者當它們相等時,100.0%
。這是我在做什麼打印完成百分比
long size =
long mem =
double avg = (double)(size/mem) * 100;
我想分2龍的爲了找到百分比。但是,我只能得到0.0%
或者當它們相等時,100.0%
。這是我在做什麼打印完成百分比
long size =
long mem =
double avg = (double)(size/mem) * 100;
你在做long
部門,它截斷了數字的小數部分。至少有一個操作數必須爲一個double
產生非零double
,你可以這樣做:
double avg = (double)size/mem * 100;
的分子現在變成了double
作爲鑄件具有high precedence比除法運算/
。
謝謝你做到了。我笑嘻嘻在字長 – user2007843 2013-03-21 20:52:07
這個「長」的分工發揮作用,但你可以得到更多的小數位比你想要的。 – 2013-03-21 23:07:07
如果你想避免長的十進制數,你可以使用。
long percentage = 100 * size/mem; // as an integer.
如果你想要一個小數位,你可以做
double percentage = (1000 * size/mem)/10.0;
在第一種情況下,它會舍入分數。如果你不先乘以100,你會得到0%或100%的建議。如果您先乘以100,則將百分比舍入,以得到0,1,2 ... 99,100。如果乘以1000併除以10.0,則得到0.0,0.1,0.2 ... 99.9,100.0 – 2013-03-21 23:33:11
請做一個搜索,你下次問一個問題之前。 – 2013-03-21 20:48:00
@SotiriosDelimanolis你會使用哪些搜索詞?假設OP完全不知道術語「整數除法」。 – Mysticial 2013-03-21 20:49:10
@Mysticial'java long division'如此多的結果 – 2013-03-21 20:53:38