我在執行除法時遇到問題。我有這塊代碼,其中這個操作必須是40.4239
,但我相反我有這個結果:0.005595493389623997
我可以理解小數的數量,我必須用decimalFormat解決,但我不能理解這個結果...
contTotal在這種情況下是288975
,因此:(288975/714861)*100 = 40.4239
任何想法......?錯誤的除法結果與雙重值
int contTotal = 0;
double result = 0;
for(DoubleWritable val : valores) {
contTotal += val.get();
}
result = (contTotal/714861) *100;
嘗試將'contTotal'的類型更改爲'double'。另外'(288975/714861)* 100'不是'40.4239',因爲'int/int'返回'int'。 '(288975d.0/714861)* 100'爲'40.42394255666486'。 – Pshemo
是的,我試過了,但我有同樣的結果... – An4
然後問題在於你沒有向我們展示的部分代碼。你確定'contTotal'是'288975'嗎? – Pshemo