0

この計算を行う理由: double number = (13 /(13+12+13))

は 0 ですか?

だいたい0.34くらいだと思います!

ありがとう!

4

6 に答える 6

6

を で割っているからintですint。あなたがしているはずです

double number = (13.0 /(13.0+12.0+13.0));
于 2011-06-11T20:11:10.733 に答える
1

それは整数です。したがって、整数除算を行います。したがって、次に小さい (0 に近い) 整数に切り捨てられます。

double にする.0ような数値に a を追加します。13.0

于 2011-06-11T20:06:53.430 に答える
0

「.0」を追加すると役立ちます。

double number = (13.0 /(13.0+12.0+13.0));
于 2013-03-18T13:50:55.467 に答える
0

もう 1 つのオプションは、引数の1 つを明示的に doubleにキャストして、ランタイムに二重除算を実行させることです。例:

double result = ((double)13 / (13 + 12 + 13)); 
于 2011-06-11T21:26:06.617 に答える
0

数式でall を使用しているため、結果もINT同様に扱われます。INT

代わりにこれを試してください:

var result = 13.0 / (13.0 + 12.0 + 13.0)

結果は次のようになります。

0.34210526315789475
于 2011-06-11T20:06:24.713 に答える
0

.0 を追加してみてください:

(13.0 /(13+12+13))

それ以外の場合は、整数を扱っています。

于 2011-06-11T20:06:51.487 に答える