-4

私のJavaクラス内で計算された%によってテキストビューが取り込まれているAndroidコードを書いています。

% を計算する必要があったため、最終的な変数 (calcPerc) は double 型の変数です。TextView に Text を設定しません。助けてください。

コード

int totDiff = (totalMA - totalIA);
    double beforeperc = ((double)totDiff / (double)totalIA);
    calPerc = ((double)beforeperc*100);

    percentage = (TextView)findViewById(R.id.populatePercentage);
    percentage.setText(calPerc);

私が得ているエラーは

タイプ TextView のメソッド setText(CharSequence) は、引数 (double) には適用されません。

また、追加の質問をもう 1 つ。変数「calPerc」は double であるため、小数点以下の桁数が無限になります。小数点以下 2 桁に丸めるにはどうすればよいですか?

4

2 に答える 2

2

これにより、現在のロケールに合わせて表示用の値(小数点以下第2位まで)が正しくフォーマットされます。

NumberFormat twoDecimals = NumberFormat.getInstance(); 
twoDecimals.setMaximumFractionDigits(2);
percentage.setText(twoDecimals.format(calPerc));
于 2013-01-22T11:13:52.813 に答える
0

フォーマットをより細かく制御するには (小数点以下の桁数を制限するなど)、以下を使用できますString.format()

percentage.setText(String.format("%.2f %%", calPerc));

ただし、デフォルトのロケールには注意してください。

于 2013-01-22T11:08:07.190 に答える