0

データベースから取得したデータがたくさんあり、それらのデータを使用してグラフを作成します(そのうちのいくつかは追加されています)

グラフの1つにパーセンテージが表示されているため、データをパーセントで計算する必要があります。

上司にはパーセンテージを表示する別のプログラムがあります(ただしグラフはありません)。プログラムを作成した後、上司が私のところに来て、私のテーブルの数値が間違っていると言いました。

私はそれを調べて、double(パーセンテージで計算される)が次の数値であることがわかりました:85.53178390026166

どうやら私のプログラムはこの数を86に切り上げました。

今私の質問は次のとおりです。0.75以下でない限り、プログラムの切り上げが2倍になるのを止める方法はありますか?代わりに、この例では85に切り捨てますか?

4

4 に答える 4

3

まず第一に、それよりも近いことに85.53注意してください。そうは言っても、それ以上の場合にのみ切り上げたい場合は、次のようにします。8685.75

Math.floor(number + .25);

例:

10.2 -> 10.45 -> 10
10.6 -> 10.85 -> 10
10.74 -> 10.99 -> 10
10.76 -> 11.01 -> 11
于 2012-11-14T12:30:05.597 に答える
2

これを試して

import java.math.BigDecimal;
BigDecimal myDec = new BigDecimal( myDouble );
myDec = myDec.setScale( 2, BigDecimal.ROUND_HALF_UP );




import java.math.BigDecimal;
BigDecimal myDec = new BigDecimal( myDouble );
myDec = myDec.setScale( 2, BigDecimal.ROUND_HALF_DOWN );
于 2012-11-14T12:34:14.303 に答える
1

これを試して:

int returnRoundOffNumber(Double number)
{  

if((number-Integer.parseInt(number)>0.75)
 return Math.ceil(number);

else   
  return Math.floor(number);
}
于 2012-11-14T12:36:14.053 に答える
0

上司が気難しい場合は、丸めないことをお勧めしますが、上司と交渉した小数桁数を使用して数値を表示することもできます。

于 2012-11-14T12:29:44.663 に答える