「
数値型の計算誤差
」を編集中 (節単位)
ナビゲーションに移動
検索に移動
警告:
ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。
ログイン
または
アカウントを作成
すれば、あなたの編集はその利用者名とともに表示されるほか、その他の利点もあります。
スパム攻撃防止用のチェックです。 決して、ここには、値の入力は
しない
でください!
==許容範囲を決めて値を比較する== 二つの浮動小数点数数値型数を比較するとき、例えばそれらが等しいかを調べるときに<code>==</code>を使うのは危険です。両者が全く等しい場合のみ等しいと判断するのではなく、「両者の差の絶対値がある程度であれば等しいと認める」など許容範囲を決めて比較する方が安全です。次の例は、許容範囲を定めt、<code>0.000001</code>未満の差の場合に等しいと判断します。 import “Alice.Math”; ///二つの小数が等しいと認められるかどうかを評価します ///パラメータ a:一方の値 /// b:もう一方の値 /// tolerance:許容できる誤差の最大の値(この数値は常に正) function NumEqual(number a,number b,number tolerance) { return (math_abs(a - b) < tolerance); } var numA = 0.1 + 0.2; var numB = 0.3; ///許容範囲 var tolerance = 0.000001; if(NumEqual(numA,numB,tolerance)) { print(“二値は等しいと認められました”); }
編集内容の要約:
AliceScript Wikiへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細は
AliceScript Wiki:著作権
を参照)。
著作権保護されている作品は、許諾なしに投稿しないでください!
キャンセル
編集ヘルプ
(新しいウィンドウで開きます)
ナビゲーション メニュー
個人用ツール
ログインしていません
トーク
投稿記録
アカウント作成
ログイン
名前空間
ページ
議論
日本語
表示
閲覧
編集
履歴表示
その他
検索
案内
メインページ
ツアー
ダウンロード
規約
おまかせ表示
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報