NEW  |  HOME  |  OLD

エラー:小数の計算

3/14
19:31 (daken) むー…?
19:32 (daken) とある数字最大値var(x)に対して現在値var(y)の割合を出したい時って
19:32 (daken) floor(var(11)/var(10)*100) じゃまずいですかね?
19:32 (daken) なんでか100か0にしかならないorz
19:32 (daken) あ、しまった。 floor(var(y)/var(x)*100) でござった
19:35 (simotsuk_) 計算式はそれで合ってるように思えます…多分
19:36 (Rel) Floor(var(y)/(var(x)+!var(x))*100)
19:38 (HALU) var(y)/var(x)が0か1にしかなってないからでない?
19:39 (daken) xが60で、yが60から減少、でデバッグでもちゃんと表示されてるんですよねぇ…
19:39 (daken) Floor(var(y)/(var(x)+!var(x))*100) でも変わらず突然0に…(´・ω・`)
19:39 (Rel) Floor(var(y)/(var(x)+!var(x)))*100
19:39 (Rel) ...ん?
19:40 (Rel) Floor((var(y)/(var(x)+!var(x)))*100)
19:40 (SAIKEI) だね
19:41 (SAIKEI) 0と1しか変わらないのはFloorのせい
19:41 (simotsuk_) あ~…
19:41 (daken) !?
19:42 (daken) なんと…小数入るのがマズイかと思って使ったけどこれのせいなのか…
19:42 (simotsuk_) ん?でもfloorの前に計算してるような気も
19:42 (Rel) Floor(50/60) = 0 (ノ∀`)
19:43 (Rel) Floor(50/60*100) = Floor(50/6000) = 0 (ノ∀`)
19:44 (simotsuk_) アレ、そういった計算になるんですか?w
19:44 (SAIKEI) そそ
19:44 (SAIKEI) ようは式の中が
19:44 (Rel) Floorは1.0未満なら切り捨て
19:44 (daken) Floor((var(y)/(var(x)+!var(x)))*100) でも駄目でござった…(´・ω・`)
19:44 (SAIKEI) 0< x < 1
19:44 (SAIKEI) なので
19:44 (Rel) ミス、小数点以下を切り捨て
19:44 (SAIKEI) 小数点を切り捨てると0か1にしかならない
19:44 (SAIKEI) 計算の順番を上手く使うと回避できる
19:45 (simotsuk_) 50/60は先に計算されないのか~*と同じかと思ってた
19:46 (HALU) *>/>+=-でしたっけ
19:46 (Rel) (括弧内 >) 乗算 > 除算 > 加算 = 減算
19:48 (daken) あれ…? fvar経由してfvar(z) = (var(y)/var(x))*100 にしてもfvarが100から一瞬で0になる…(´・ω・`)
19:48 (SAIKEI) ああ
19:48 (SAIKEI) もう1個仕様があった
19:48 (SAIKEI) varとかのいわゆるintの計算は
19:48 (SAIKEI) 自動で切り捨てられる
19:49 (SAIKEI) つまりvar(x)/var(y)をすると
19:49 (SAIKEI) 小数点も自動でなくなって1か0にしかならない
19:49 (SAIKEI) 回避するにはvar(y)*100/var(x)か
19:49 (Rel) FVarに入れてからですねー
19:50 (SAIKEI) どこかに*1.0をして浮動少数の計算にするか
19:50 (SAIKEI) どっちか
19:50 (daken) なんと! そうだったのか…
19:51 (SAIKEI) 分数を使うときによくあるミスでしかもわかりにくいのが難点
19:51 (SAIKEI) 昔自分も同じような不具合で困った
19:51 (SAIKEI) どうせ100掛けるんだから先に(見た目上分母に)100書けて計算してしまうとFloorの必要性も無くなる
19:52 (SAIKEI) 間違えた 分子
19:53 (daken) わっほう!上手くいったー! 皆さんありがとう!
19:53 (SAIKEI) おめっすー
19:53 (Rel) Good luck.
19:59 (simotsuk_) powermax= 10000の時のceil(powermax/10*3)だと
19:59 (simotsuk_) 普通に3000になったぽいですw
20:01 (Rel) * = / > + = -

NEW  |  HOME  |  OLD

Comment

コメントの投稿


管理者にだけ表示を許可する

Trackback

http://kyoakumugenirc.blog61.fc2.com/tb.php/1338-e454e4df

NEW  |  HOME  |  OLD

 検索フォーム


 全記事表示リンク

 全記事表示(500件ずつ)


 プロフィール

vesper

Author:vesper

IRCチャンネルの
#凶悪MUGEN
#凶悪MUGEN_雑談
のログからMUGENに関するものを編集・公開しています。
修正した方が良い箇所があった場合は知らせてもらえると助かります。
MUGEN界隈からはリンクフリーです。
その他からのリンクはご遠慮ください。
このブログをリンクに追加

IRCへの入り方などは
IRCに関する記事
をご覧ください。

簡易凶悪MUGEN IRC情報
・ホスト名
 [irc.friend-chat.jp]
・ポート番号
 [6664]
・チャンネル名
 [#凶悪MUGEN]
 [#凶悪MUGEN_雑談]
 (以下はお好みで)
 [#凶悪MUGEN_艦これ]
 [#凶悪MUGEN_スマブラ]
 [#凶悪MUGEN_麻雀]
 [#凶悪MUGEN_緋想天]
 [#凶悪MUGEN_アカツキ]
 [#凶悪MUGEN_小説]
 [#凶悪MUGEN_絵チャ]

・推奨IRCクライアント
 LimeChat2


 カテゴリ

記述の子カテゴリは目安程度に考えてください。

 最新コメント


 最新記事


 カウンター

累計の閲覧者数:

現在の閲覧者数:

 RSSリンクの表示


他ブログ更新情報(最新70件)

仕様上、下記のリンク一覧でサイトリンクにあるサイトはこの一覧に出ません。

Twitter


基礎リンク集


リンク

サイトに断り書きがない限りリンクさせてもらっています。
リンクしてほしくない場合はお気軽におっしゃってください。