-1

パーセンテージを計算しようとすると、奇妙な結果が得られます。値が 1 で最大値が 2 の場合、結果として 50% を取得する必要があります (1 は 2 の 50% であるため) が、代わりに結果として 1% を取得しています。これが私のコードです:

int percent = ( runningMins / goal.getGoalMins() )  * 100;
System.out.println(runningMins +", " + goal.getGoalMins() + ", progress: " + percent);

runningMins = 1 および goal.getMins = 1 の場合の結果:

1, 1, progress: 100

runningMins = 1 および goal.getMins = 2 の場合の結果:

1, 2, progress: 1

runningMins = 1 および goal.getMins = 4:

1, 4, progress: 1

runningMins = 1 および goal.getMins = 8:

1, 8, progress: 1

ここで何が間違っていますか?

4

3 に答える 3

2

あなたが試すことができます:

int percent = ( (float)runningMins / goal.getGoalMins() )  * 100;

またはさらに良い

int percent = ( 100 * runningMins ) / goal.getGoalMins()

整数を除算しても、0 または 1 以外の何かを与えることはできないため...

于 2013-10-07T10:33:03.030 に答える
0

この方法を試してください

float percent = ( runningMins /(float) goal.getGoalMins() )  * 100;
于 2013-10-07T10:37:46.950 に答える
0
 int percent = ( (float)(runningMins /goal.getGoalMins()) )  * 100;

パーセンテージを計算するための Java 演算

于 2013-10-07T10:36:13.490 に答える