2012-02-05 3 views
0

時間、料金、税額控除を取得した情報を持つ関数を持っています。それはうまく動作します2テキストボックスには、空でないか0が含まれていることを確認する必要があります

var newtax= new Number(dep[i]); 
taxrate = newtax*100; 
var h=eval(document.paycheck.hours.value); 
var r=eval(document.paycheck.payrate.value); 
document.paycheck.feedback.value= taxrate + txt; 
var total= r*(1-newtax)*h ; 
total=total.toFixed(2); 
document.paycheck.feedback3.value= ("$ "+ total); 

合計を取る場所を入れなければならず、2小数しか入れない関数に入れます。このように動作し、2小数しかしませんが、私は関数内で小数変換を必要とします。誰かが何かのように流すことができます。

これは2つの小数点以下を切り捨てたもので、関数を入れてfeedback3.valueに戻すことができません。

total=total.toFixed(2); 
document.paycheck.feedback3.value= ("$ "+ total); 
+0

正しく設定されてdocument.paycheck.feedbackオブジェクトですか?合計変数が期待どおりであることを確認するアラートを使用しましたか? –

答えて

1

あなたが(文字列として)2つの小数とドルの値として数と形式を取る関数を作成する方法を求めている場合、これは動作します:することにより

function formatMoney(num) { 
    return "$ " + num.toFixed(2); 
} 

// which you could use like this: 
document.paycheck.feedback3.value= formatMoney(total); 

// though you don't need the total variable (unless you use it elsewhere) 
// because the following will also work: 
document.paycheck.feedback3.value = formatMoney(r*(1-newtax)*h); 

フィールドから値を取得するのに、evalは必要ありません。ちょうど言う:

var h = document.paycheck.hours.value; 
var r = document.paycheck.payrate.value; 
関連する問題