###前提・実現したいこと
ここに質問したいことを詳細に書いてください
JavaScriptで適正体重等を計算してコンソールボックスに表示しています
###発生している問題・エラーメッセージ
適正体重を少数第二位まで計算する関数をかいたのですが、 関数をよびだして計算すると今回の場合"適正体重まで+9.68kgです"と表示されるよう書いたのですが 何故か"適正体重まで+9.680000000000007kgです"と表示されてしまいます、これを解決したいのでお力添えお願いします。 ソースメモにより具体的な問題を書きましたのそちらも目を通していただけるとありがたく存じます
###該当のソースコード
JavaScript
1var hei = 183; 2var wei = 64; 3// ---適正体重計算 4function idlWei(hei){ 5 var idlWei = Math.pow(hei/100,2) * 22; 6 idlWei = Math.round(idlWei *100)/100; //少数第二位までにまとめる処理 7 8 return idlWei; 9} 10 11console.log("適正体重は" + idlWei(hei) + "kgです"); //ここでは関数は正常に動作し少数第二位までにまとめられている 12 13//---適正体重とのギャップ ここが問題の場所になります 14if(wei < idlWei(hei)){ 15 console.log("適正体重まで+" + (idlWei(hei) - wei) + "kgです"); 16}else if(wei == idlWei(hei)){ 17 console.log("適正体重です"); 18}else{ 19 console.log("適正体重まで-" + (wei -idlWei(hei)) + "kgです"); 20} 21 22// 後述の対策案 ((idlWei(hei)*100-wei*100)/100);
###試したこと
検索したところJavaScriptはIEEEという規格のため誤差で少数が、
今回のようになる場合があるとのことなので一度整数にしてから計算してみましたがほしい結果は得られませんでした、そのさいのコードはソース欄下部にメモしました。
###補足情報(言語/FW/ツール等のバージョンなど)
言語:JavaScript 開発環境:Cloud9 実行環境:Choromeデベロッパツール
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/05/15 01:18 編集