17

値を変換して int 値を四捨五入するにはどうすればよいですか?

例:

int x = 121;
int y = Math.Ceiling(x/8);

エラーを取得:

doubleタイプを に暗黙的に変換することはできませんint。明示的な変換が存在します (キャストがありませんか?)

4

4 に答える 4

31

これを使用して試すことができます:-

 int x = 121;
 int y = (int)Math.Ceiling((double)x/8);     
于 2013-09-01T17:26:25.713 に答える
6

浮動小数点演算に移動する必要はありません。これを行うだけです。

y = (x+7) / 8

(a + b - 1) / b切り捨てはa / b切り上げに等しい。

于 2013-09-01T17:28:36.463 に答える
2

実際にはfloat値を割り当てています。したがって、割り当てるint前にintにキャストする必要があります

int y = (int)Math.Ceiling((double)x/8);
于 2013-09-01T17:27:48.447 に答える
-1

明示的なキャストを使用する

int y=(int)Math.Ceiling(x/8);
于 2013-09-01T17:27:34.120 に答える