2017-02-14 9 views
-1

昨日、Javascript/jQueryを使用して特定の数値に100を掛けたときに、奇妙な数値が返されるという問題が発生しました。.toFixed()が正しく丸められない

すなわち16.74 = 1673.9999999999998

* 100検索した後、私は、これは浮動小数点値とし、.toFixedコマンドを使用しても問題が解決しなければならないことを行うにであることを見出しました。

これは私がStackOverflowの上の他の質問を読みましたが、私は問題を売却することができていない、と私は、これはおそらく、本当に簡単です感謝

<input type="text" name="f_prodcost" id="f_prodcost" /> 
<input type="text" name="h_prodcost" id="h_prodcost" disabled="disabled" /> 
<script> 
$('#f_prodcost').change(function() { 
    $('#h_prodcost').val($(this).val()*100).toFixed(); 
}); 
</script> 

を動作するように表示されません。私のコードです誰かがjavascript/jqueryの明確な理解を持っているが、私は現在学習しているので、どのポインタにも感謝するだろう。

+0

Number($( '#h_prodcost')。val($(this).val()* 100))。toFixed(); –

+2

[私のための作品](https://i.imgur.com/YVbQEI8.png)。どのくらい正確にあなたのために働かないのですか?コンソールにエラーメッセージが表示されますか?間違った値を出力しますか?それはコンピュータを火に置きますか? –

答えて

3

が見える設定する前toFixedメソッドを呼び出す必要があり、このような何かをしようと...

$('#h_prodcost').val(($(this).val()*100).toFixed()); 

あなたが渡す前にtoFixed()を呼び出す必要があります.val()

-3

あなたはあなたがtoFixed()関数を渡すことができ、それは1673.99

を返します。これは、この値1673.9999999999998上の点

後に2桁件まで戻ります

$('#h_prodcost').val($(this).val()*100).toFixed(2) 

.toFixed関数にパラメータを渡す必要があり任意の数1,2,3など

+0

数字はオプションです。値が渡されない場合、0が既定値となります https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toFixed –

+0

あなたの 'toFixed'は依然として間違っていますparensの。これは、OPの実際の間違いです。 – Jamiec

0

ブラケットの問題があります。あなたは、あなたのブラケットが間違っているように、入力値

$('#f_prodcost').change(function() { 
 
    $('#h_prodcost').val(($(this).val()*100).toFixed()); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="text" name="f_prodcost" id="f_prodcost" /> 
 
<input type="text" name="h_prodcost" id="h_prodcost" disabled="disabled" />

+0

なぜdownvoted? –

関連する問題