2016-05-25 13 views
-1

私はミリ秒単位で答えを出力するいくつかのjavascriptをまとめようとしています。JavaScriptのミリ秒の計算が正しくありません

一定の距離を走行するのにかかる時間を計算するスクリプトです。

現時点では、ページのテキストボックスから数値を分割しています。それは分裂を行うようですが、結果は正しくありません。例えば

... するvar A = 3.7(距離)とするvar B = 25(速度)

function journey_calc() 
     { 
      var a = +$("#txtDistance")[0].value; // example: 3.7 miles (distance) 
      var b = +$("#txtSpeed")[0].value; // example: 25 mph (speed) 
      var c = (a/b)/3600000; // returns the length of time it will take to travel the distance in hours, then divides by 3600000 to get the answer in milliseconds. 

      $(".journey-finder-result").text(c); //posts answer to span on page 

     } 

これは "動作" ではなく "VAR Cが" 間違って計算されます。上記の例を使用すると答えは532800になりますが、4.111111111111112e-8を返します

最後の目標は、ミリ秒をdd:hh:mm:ss形式に変換することです。これは間違っていますか?

多くの感謝!

注:私はjavascriptの初心者ですので、おそらく非常に単純な間違いがありません!

+4

これはJSの問題ではありません。 3.7/25/3600000 = 4.111111111111112e-8 –

+1

高校で代数を勉強していた時、あなたが成長したときに「これは決して必要ないでしょう」と言った人の一人でしたか? – Barmar

答えて

7

それは、JS数学の問題ではありません

var c = a/b * 3600000; 

でなければなりません。固定コード:

function journey_calc() 
     { 
      var a = +$("#txtDistance")[0].value; // example: 3.7 miles (distance) 
      var b = +$("#txtSpeed")[0].value; // example: 25 mph (speed) 
      var c = a/b * 3600000; // returns the length of time it will take to travel the distance in hours, MULTIPLIED by 3600000 to get the answer in milliseconds. 

      $(".journey-finder-result").text(c); //posts answer to span on page 

     } 

あなたはミリ秒単位で結果を取得したい場合は、、そう3600000要因を

<HOUR> * 60 minutes * 60 seconds * 1000 milliseconds 

を掛ける必要があります。

+1

さて、私は愚かなhahaを感じる!ありがとうBacco、それは完璧に動作します。 – southlegend

関連する問題