2016-11-28 82 views
-1

我編寫了一個小測試,最後結果應該顯示一個百分比。目前有三個問題,並且百分比幾乎是正確的,例如2/3將顯示66.0%,而不是66.7或67. 百分比被格式化爲雙倍並且得分爲整數。這可能是一個原因嗎? 我也嘗試過在settext中計算,但那沒有奏效。所以我發明了百分比變量。這種分配的settext中的百分比格式未正確顯示

... 
else{ 
       //neue Frage oder Testende 
       if(durchlauf < 3){ 
        SetNextQuestion(); 
       } 
       else{ 
        qt.setText(""); 
        rdg.setVisibility(View.INVISIBLE); 
        hintbutton.setVisibility(View.INVISIBLE); 

        percentage = ((score * 100)/3); 
        t.setText("Test abgeschlossen \n" + "Punkte: " + score + " (" + String.format("%.2f", percentage) + "%)"); 
       } 
+0

嘗試使用浮動,而不是雙 – Ak9637

+0

【JAVA](http://docs.oracle.com/javase/specs/jls/se7/html /jls-15.html#jls-15.17)[基礎知識](http://docs.oracle.com/javase/specs/jls/se7/html/jls-5.html#jls-5.6.2) – Selvin

回答

0
percentage = ((score * 100)/3); 

右手側被計算爲整數才把整數結果被分配給一個雙。您可能要計算改爲浮點,太:

percentage = ((score * 100.0)/3); 
+0

謝謝 - 我現在明白了。有趣的是,計算顯示66,而不是67,但我想整數計算刪除逗號後的所有內容,而不是四捨五入。 – kingklang