C#_割り算と掛け算の結果がおかしい

結論

int 型どうしの計算小数点以下が切り捨てられる。

 

経緯

int / int * 100  の結果が 0 となる。
int / int * 100.0 で試しても同様。

    int a = 2;
    int b = 3;
    Console.WriteLine(a / b * 100);  //0 と出力結果

 

2 / 3 = 0.6666 と電卓ではなる。
しかし、
C# において int 型どうしの計算は「 .6666 」は切り捨てられ、0 となる

 

0 に 100 かけても 0 なので 0 になってた。
よって、
切り捨てられないよう最初を大きくする。
100 * 2 / 3  とすれば、 200 / 3 となるので、
出力結果は 66 。

    Console.WriteLine(100 * a / b);  //66

 

こちらから。
http://blog.jnito.com/entry/20110910/1315605311

 

以上。
挙動は言語によって変わるもよう。

--Memo--
2 / 3 + 10.0
と計算しても、10.6 とはならない。
[ 2 / 3 ] で既に int となっているため。[ 2 / 3.0 + 10 ] と書く。
int と int は 小数点つかない、と何回も忘れてる…。