はじめに
* Excel、Excelマクロ、JavaScriptなどの小数で使用すされている浮動小数で誤差が出て、 困ったのでメモ。
誤差について
* 上記の「浮動小数点とは?」の「欠点」でも書いたが誤差が生じる
サンプル:JavaScript
* 「0.1+0.2」=>「0.30000000000000004」と表示<!DOCTYPE html> <html> <head> <meta charset='UTF-8'> <script src="">http://code.jquery.com/jquery-1.10.1.min.js"> </head> <body> <form> <div id="sample1">Result</div> Input data1:<input id="textValue1" type="text" size="50" value="0.1"> Input data2:<input id="textValue2" type="text" size="50" value="0.1"> <input id="fire" type="button" value="click me!"> </form> <script type="text/javascript"> $("#fire").click(function(event){ var numberValue1 = document.getElementById("textValue1").value; var numberValue2 = document.getElementById("textValue2").value; // [1] toLocaleString()で実装 document.getElementById("sample1").innerHTML = parseFloat(numberValue1) + parseFloat(numberValue2); }); </script> </body> </html>
参考文献
* 浮動小数点に関する説明http://itpro.nikkeibp.co.jp/members/ITPro/ITBASIC/20020624/1/?rt=nocnt
* JavaScriptによる小数計算の誤差を無くす
http://blog.asial.co.jp/1191
* 理解度チェック
http://www.ap-siken.com/kakomon/22_haru/q2.html