アカウント名:
パスワード:
十分にお金のあるはずの国でも似たようなことやってる
手計算でExcelの結果を確認する日本の会社
Excelの計算結果鵜呑みにすると危険だからね、特に財形は
Excelの小数点以下は計算結果は結構微妙ですよ。
少数以下の表示桁を18桁以上にして10.1-10とかやると、0.1000000000000000・・・でなく0.0999999999999996・・・になります。
結構この辺で問題でるんですよねぇ・・・
5.0と5.1・5.1と5.2の差はどっちも0.1で同じはずなんだけど、if文使って判定するとあれ?ってなるんですよ。
=IF(5.1-5.0>0.1,"O","X")=IF(5.2-5.1>0.1,"O","X")がおんなじ結果にならんという。
まぁ表示桁数で計算する設定を有効にすればいいんだけどねぇ・・・
エクセルの、というより丸め誤差の典型的問題だね。0.1を2進数で書くとかやったことない人多いんだろうか。
自分はMZのベーシックのマニュアルで厨房の頃学んだ。
Excelの問題点じゃなくて浮動小数点の問題点で使う側が考慮するのが常識な気がしますが。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
「科学者は100%安全だと保証できないものは動かしてはならない」、科学者「えっ」、プログラマ「えっ」
日本でも (スコア:0)
十分にお金のあるはずの国でも似たようなことやってる
Re: (スコア:0)
手計算でExcelの結果を確認する日本の会社
Re: (スコア:0)
Excelの計算結果鵜呑みにすると危険だからね、特に財形は
Re:日本でも (スコア:1)
Excelの小数点以下は計算結果は結構微妙ですよ。
少数以下の表示桁を18桁以上にして10.1-10とかやると、
0.1000000000000000・・・でなく0.0999999999999996・・・になります。
結構この辺で問題でるんですよねぇ・・・
5.0と5.1・5.1と5.2の差はどっちも0.1で同じはずなんだけど、
if文使って判定するとあれ?ってなるんですよ。
=IF(5.1-5.0>0.1,"O","X")
=IF(5.2-5.1>0.1,"O","X")
がおんなじ結果にならんという。
まぁ表示桁数で計算する設定を有効にすればいいんだけどねぇ・・・
Re: (スコア:0)
エクセルの、というより丸め誤差の典型的問題だね。
0.1を2進数で書くとかやったことない人多いんだろうか。
自分はMZのベーシックのマニュアルで厨房の頃学んだ。
Re: (スコア:0)
Excelの問題点じゃなくて浮動小数点の問題点で使う側が考慮するのが常識な気がしますが。