KUNISAN.JPブログ - 1301 / 1518 ページ

新規書き込み

JavaScript簡易関数電卓

名前: 小川 邦久 リンク: http://kunisan.jp/ 日付: 2008年8月6日

JavaScript簡易関数電卓HT1100用の関数電卓ソフトを探していたのですが、あまりぱっとするものが見当たりません。ホームページ上で直接計算できるものがないかも探しましたが、使い勝手がイマイチなものが多く、ちょっと「お気に入り」には入れられませんでした。

そういうことで、結局自分で作ってしまいました。得意の(?)PHPではなく、画面の切り替えがいらないJavaScriptで拵えました。

JavaScript簡易関数電卓
http://kunisan.jp/js_calc/

JavaScriptの数学関数には限りがあるので、あまり多機能ではありませんが、それでも以下のことができます。

・四則演算
・メモリー機能
・パーセント計算
・正負変換
・逆数
・べき乗、平方根
・対数(ln,log)
・三角関数(sin,cos,tan,asin,acos,atan)
・円周率
・進数変換(2進数,8進数,10進数,16進数)

HTML+JavaScriptのソースも公開しているので、JavaScriptを学習している方も、ぜひご参考ください。





Web管理関連記事(リンク一覧): さくらレンタルサーバーのアクセス履歴をPHPで表示 / PHPで画像のアップロード(さくらレンタルサーバーのPHPでImageMagick) / KUNISAN.JPサイトのメンテナンス(2019) / Webサーバー引っ越し(さくらインターネット スタンダード)とHTTPS(常時SSL)化 / Googleマップの有料化(ディベロッパー向け) → Google Cloud Platform / ...(記事連続表示)

カシオ関数電卓 FX-912ES-N
カシオ関数電卓 FX-912ES-NをAmazon.co.jpでチェック
コメント:JavaScript簡易関数電卓
名前: なかた 日付: 2011年3月24日
電卓を参考にさせてもらっています。
すべて自己解決でお願いしますと書いてあったのを見ているので、
大変恐縮なのですが、一つ質問させてください。

1.5×0.3や3.3×0.3などの奇数の小数点計算が
どうしても変な数字になるのはなぜでしょうか?
2.5×0.3は正常に動作しています。

このエラーを回避する方法はありますか?
コメント:JavaScript簡易関数電卓
名前: 小川 邦久 リンク: http://kunisan.jp/ 日付: 2011年3月24日
ご指摘ありがとうございます。
現象確認の上、下記の通り修正してみました。

修正前:
nen = mn2 * exn;

修正後:
nen = Math.floor(mn2 * exn *1000000000000 + 0.5)/1000000000000; //1e-12未満の位を四捨五入

その他、べき乗計算や「1.01+1.1」、「1.01-1.1」、「12.3÷0.3」などでも不具合を確認して、同様の形で修正をかけました。