2016-10-12 4 views
0

何らかの理由で、私のコードは計算したくありません。私は練習の本から取り組んでいますが、実際にこの点で私を助けているわけではありません。合計のために私は20000NaNのような何かを取得します、私が知っているのは数字ではありません。正しく計算するにはどうしたらいいですか? ParseFloatを使ってパーセンテージを変換しようとしました。ありがとうございました。合計を取得するのに問題はありますか?

<form action="#" name="car"> 
     <p>&nbsp;</p> 
     <p>Vehicle: 
      <select id="dropDown1"> 
      <option selected value="370z, 20000, 10%, 8.5%">Accord</option> 
      <option value="M3, 18000, 8%, 8.5%">Altima</option> 
      <option value="Camaro, 19000, 9%, 8.5%">Camry</option> 
      </select> 
     <br /> 
     <br /> 
     </p> 
     <button type="button" onclick="car()" value="Submit">Book it now</button> 
     <br /> 
     <br /> 
     <textarea name="answer" cols="80" rows="3" disabled></textarea> 
     <br /> 
     <br /> 
    </form> 
</div> 

<script language="javaScript"> 
    function car() { 
     var value = document.getElementById("dropDown1").value; 
     var split = value.split(","); 
     var v1 = split[0]; 
     var v2 = split[1]; 
     var v3 = split[2]; 
     var v4 = split[3]; 
parseFloat(v3); 
parseFloat(v4); 
profit = v2*v3; 
tax = v2*v4; 
extra = profit+tax; 
sum = v2 + extra; 

      document.car.answer.value = "You selected " + v1 + " " + "which has a base price of" + v2 + ", a profit of" + v3 + ", and sales tax of" + v4 + "." + " Total cost of this vehicle, including profit and sales tax is: $" + sum + "." 

    } 

</script> 
+0

'parseFloatは(V3)は' *変更しません* 'v3'、それは*数値を返します... – nnnnnn

答えて

1

はあなたの構文の大半は右ではなかったです。 これはどのようにすべきである:

var test = function() { 
 
     var value = document.getElementById("dropDown1").value; 
 
     var split = value.split(","); 
 
     var v1 = split[0]; 
 
     var v2 = split[1]; 
 
     var v3 = split[2]; 
 
     var v4 = split[3]; 
 
     v3 = parseFloat(v3); 
 
     v4 = parseFloat(v4); 
 
     var profit = parseFloat(v2)*parseFloat(v3)/100; 
 
     var tax = parseFloat(v2)*parseFloat(v4)/100; 
 
     var extra = parseFloat(profit)+parseFloat(tax); 
 
     var sum = parseFloat(v2) + parseFloat(extra); 
 
document.getElementById("answer").value = "You selected " + v1 + " " + "which has a base price of $" + v2 + ", a profit of " + v3 + "%, and sales tax of " + v4 + "%. Total cost of this vehicle, including profit and sales tax is: $" + sum + "."; 
 
    };
<form action="#" name="car"> 
 
     <p>&nbsp;</p> 
 
     <p>Vehicle: 
 
      <select id="dropDown1"> 
 
      <option selected value="370z, 20000, 10%, 8.5%">Accord</option> 
 
      <option value="M3, 18000, 8%, 8.5%">Altima</option> 
 
      <option value="Camaro, 19000, 9%, 8.5%">Camry</option> 
 
      </select> 
 
     <br /> 
 
     <br /> 
 
     </p> 
 
     <button type="button" onclick="test()" value="Submit">Book it now</button> 
 
     <br /> 
 
     <br /> 
 
     <textarea id="answer" cols="80" rows="3" disabled></textarea> 
 
     <br /> 
 
     <br /> 
 
    </form>

+0

とても良い!ありがとうございました。しかし1つの問題:私の税金と利益は2つのゼロをあまりにも多く示しています。 2000年の代わりに200000を表示しています。 –

+0

両方ともパーセンテージなので、100で割る必要があります。 コードは固定されています:D –

+0

ちょっと分かりました。どうもありがとうございました! –

1

あなたは解析が浮くしたときに値を代入する必要があります。

v3 = parseFloat(v3); 
v4 = parseFloat(v4); 
1

使用:

v3=parseFloat(v3); 
v4=parseFloat(v4); 

の代わり:

parseFloat(v3); 
parseFloat(v4); 
関連する問題