Android settext中的百分比格式未正确显示

Android settext中的百分比格式未正确显示,android,string,format,settext,Android,String,Format,Settext,我已经编写了一个小测试程序,结果应该显示一个百分比。目前有三个问题,百分比几乎正确,例如,2/3将显示66.0%,而不是66.7或67。 百分比格式为双精度,分数格式为整数。这可能是一个原因吗? 我也尝试过在settext中进行计算,但没有成功。因此我发明了百分比变量 ... else{ //neue Frage oder Testende if(durchlauf < 3){ Set

我已经编写了一个小测试程序,结果应该显示一个百分比。目前有三个问题,百分比几乎正确,例如,2/3将显示66.0%,而不是66.7或67。 百分比格式为双精度,分数格式为整数。这可能是一个原因吗? 我也尝试过在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) + "%)");
                }
。。。
否则{
//neue Frage oder Testende
如果(杜氏硬度<3){
SetNextQuestion();
}
否则{
qt.setText(“”);
设置可见性(视图不可见);
hintbutton.setVisibility(视图不可见);
百分比=((分数*100)/3);
t、 setText(“Test abgeschlossen\n”+“Punkte:“+score+”(“+String.format”(“%.2f”,percentage)+“%”);
}
此赋值的右侧被计算为整数,只有在该整数结果被分配给double之后,您可能还希望将计算更改为浮点:

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

尝试使用float而不是double谢谢-我现在明白了。有趣的是,计算结果显示66而不是67,但我猜整数计算会删除逗号后的所有内容,而不是四舍五入。
percentage = ((score * 100.0)  / 3 );