小数点以下切捨ての方法

解決


出川  2003-12-20 04:59:45  No: 110837

例えば次の様な式があったとします。

T = a * b / c + d - E

a〜eはすべて1以上かつ小数点以下が0でない(1.23など)とします。
さらにTは小数点以下を切り捨てた整数だとします。
この場合 T = Int ( a * b / c + d - E )
でいいはずなんですが、今回は
a*bの値の整数部のみをcで割り、その整数部に更にdを足してその整数部のみからEを引きたいと思っています。
つまりa*bなどの計算ごとに整数のみにしたいと思っています。
どうすればいいでしょうか?


いな  2003-12-20 06:27:16  No: 110838

a*bの値の整数部のみをcで割り
int(a*b)/c

その整数部に更にdを足して
int(int(a*b)/c)+d

その整数部のみからEを引きたいと
int(int(int(a*b)/c)+d)-E

...つまりa*bなどの計算ごとに整数のみにしたいと思っています。
つまりa*bなどの計算ごとにInt関数を使いましょう。

で、いかがでしょうか?


たかみちえ  URL  2003-12-20 06:29:51  No: 110839

Int(a * b)ということでしょうか?


いな  2003-12-20 06:59:55  No: 110840

そうです。
一歩一歩やっていけば問題ないです。

a*bの値の整数部のみ = Int(a*b)
それにcで除算      = Int(a*b) / c
cを除算した状態で整数部のみ = Int(Int(a*b) / c)
にdを加算           = Int(Int(a*b) / c) + d
dを加算した状態で整数部のみ = Int(Int(Int(a*b) / c) + d)
からeを引く         = Int(Int(Int(a*b) / c) + d) - e

でその結果を整数で受け取りたければ = Int(Int(Int(Int(a*b) / c) + d) - e)
です。

落ち着いて考えれば何の問題もありません。


いな  2003-12-20 07:02:35  No: 110841

×除算
○剰算

でした(^^;


出川  2003-12-20 07:48:47  No: 110842

一発でやるより一つずつ確実にこなしていく方がいいみたいですね。
ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加