0

私は単純なテキストエディターを構築し、読書のパーセンテージも追加します。(私のモバイルと 3 つのエミュレーターでは) すべて問題ないと思いますが、他のデバイスではクラッシュします。

何が問題なのかわかりません。何か助けはありますか?

public void perc(){
    float perc3;
    perc3=((a)*100)/(float)b;
    NumberFormat numberFormat = DecimalFormat.getInstance();
    numberFormat.setMaximumFractionDigits(2);
    String formattedText = numberFormat.format(perc3);
    perc= new Double(formattedText);
}
4

1 に答える 1

1

あなたが述べているように、b が 0 になることはないと確信している場合は、別のアプローチを試して小数の 2 桁を 2 倍にしてみませんか? エラーが発生しにくく、より効率的です。

public double perc()
{
   long perc3 = Math.round( a*10000 / (double)b );
   return perc3 / (double) 100;
}

これが役立つことを願っています。それでもクラッシュが発生する場合は、このコード スニペットにはないと確信しています。

于 2012-11-30T09:26:43.683 に答える