C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 130 を表示中)
■76796 / )  Re[1]: C#のアルゴリズムについて。
□投稿者/ 魔界の仮面弁士 (448回)-(2015/08/18(Tue) 11:47:55)
2015/08/18(Tue) 11:50:13 編集(投稿者)

No76792 (EDF さん) に返信
ソースコードを貼る場合は「図表モード」で投稿して下さい。
そうすればインデントが崩れずに済みます。

それと
 全角の「C#」 (U+FF23, U+FF03)
ではなく
 半角の「C#」 (U+0043, U+0023)
が正式名称です。


――という突っ込みはさておき:


> prob[0] = east / 100;

この時、east は int 型の 25 ですよね。
そして 100 もまた、int 型であることに注意しましょう。
「0.25」なのか、「0 (と余り 25)」なのかという演算の違いです。

C# においては、double 型の割り算なら、結果は double ですが、
int 型同士の割り算は、結果もまた int で得られる仕様です。


> 何故そうなるのか教えてください
対策としては、
 prob[0] = east / 100.0;
あるいは
 prob[0] = east / 100D;
と書くことです。もしくは、east 側を小数型にするという手もありますね。
返信 編集キー/


管理者用

- Child Tree -