連続投稿っぽくなってしまい
また、初歩的な質問ですいません。
さきほどの質問に書くのを忘れたので新規投稿になって
しまうことをお許しくださいM(__)M
float Size;
Size = (float)600 / 360;
↑これでSizeには1.6666・・が入りますよね?
今度そのSizeを使って
int NewSize;
NewSize = Size * 64;
つまり、1.666・・・×64の計算を行い、整数部分だけを
取得しようと思ったのですが
(int)でキャストしようとすると怒られ(警告)ます
1.6・・・×64の答えをCStringにでもいれて文字列にし
Find関数とかで「.」の場所を取得
それより左側の文字列だけを切り取り
それを再びInt型に変換する!
というような面倒なことをしなくてはいけないのでしょうか?
たびたびの初歩的な質問で皆様に迷惑をおかけしますが
よろしくお願いいたします。
>(int)でキャストしようとすると怒られ(警告)ます
はどのような警告が出るのでしょうか?
float Size;
Size = (float)600 / 360;
int NewSize;
NewSize = (int)Size * 64;
としてみましたが、問題なくコンパイルできます。
# すぐに質問しないで、デバッグしてみてはいかがでしょうか?
# 折角VisualC++という優れたIDE環境があるのでその機能をフルに使いましょう。
# (まぁ、私も使いこなせてはいないのですけど。)
>NewSize = (int)Size * 64;
これちがってました。
NewSize = ( int )( Size * 64 );
ですね。
明示的にキャストしなくてもint型代入時にキャストされるっぽイですが。
# 割り算してから掛け算するならば、桁落ちを考えて一気に計算をしたほうが
# ベターなのでは?
ツイート | ![]() |